Mongo数据库操作

Mongo是面向文档的数据库,下面是一些基本概念。



名称表示符号介绍
数据库db是一个物理容器集合,每个数据库有自己的一套文件系统上的文件。一个Mongo服务器通常有多个数据库
集合collection相当于表,集合内的文档可以有不同的领域。
文档document是一组键值对。相同集合中的文档不需要有相同的字段或结构组的公共字段的集合的文档,可以容纳不同类型的数据

下面给出的表显示RDBMS术语使用 MongoDB 的关系

RDBMS MongoDB
Database Database
Table Collection
Tuple/Row Document
column Field
Table Join Embedded Documents
Primary Key Primary Key (Default key _id provided by mongodb itself)
数据库服务器和客户端
Mysqld/Oracle mongod
mysql/sqlplus mongo



1. 显示有哪些数据库

show dbs


2.创建数据库/转到某个数据库

use DATABASE_NAME


DATABASE_NAME是数据库的名称

如果该数据库己存在,则会转到该数据库。如果不存在则会创建。


检查当前选择的数据库

db



3.显示所有的集合

show collections


4.创建一个新的集合

db.createCollection(name,option)
name 是要创建的集合的名称. Options (可选)是一个文件,用于指定配置的集合
例:

>use test
switched to db test
>db.createCollection("mycollection")
{ "ok" : 1 }
>


或者,可以直接 插入一些文件, MongoDB 自动创建集合

>db.yiibai.insert({"name" : "yiibai"})
>show collections
mycol
mycollection
system.indexes
yiibai
>


5.插入数据到集合

要插入数据到 MongoDB 集合,需要使用 MongoDB 的  insert() 或 save() 方法。

db.COLLECTION_NAME.inset(document)

例:

>db.mycol.insert({
   _id: ObjectId(7df78ad8902c),
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials yiibai',
   url: 'http://www.yiibai.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
})

这里 mycol  是集合的名称,如前面的教程中创建。如果集合在数据库中不存在,那么MongoDB 将创建此集合,然后把它插入文档。

插入文档中,如果我们不指定_id参数,然后MongoDB 本文档分配一个独特的ObjectId。

_id 是12个字节的十六进制数,唯一一个集合中的每个文档。 12个字节被划分如下:

_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)

要插入单个查询的多个文档,可以传递一个数组 insert() 命令的文件。 

示例

>db.post.insert([
{
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials yiibai',
   url: 'http://www.yiibai.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
},
{
   title: 'NoSQL Database', 
   description: 'NoSQL database doesn't have tables',
   by: 'tutorials yiibai',
   url: 'http://www.yiibai.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 20, 
   comments: [	
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2013,11,10,2,35),
         like: 0 
      }
   ]
}
])
6.查询数据

要从MongoDB 查询集合数据,需要使用MongoDB 的 find() 方法。

语法

基本的find()方法语法如下

>db.COLLECTION_NAME.find()

find() 方法将在非结构化的方式显示所有的文件。

pretty() 方法

结果显示在一个格式化的方式,可以使用 pretty() 方法.

语法:

>db.mycol.find().pretty()

例子

>db.mycol.find().pretty()
{
   "_id": ObjectId(7df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "tutorials yiibai",
   "url": "http://www.yiibai.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
>

查看更多帮助:http://www.yiibai.com/mongodb/mongodb_query_document.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值