首页 > 代码库 > [MongoDB]学习笔记--基本操作

[MongoDB]学习笔记--基本操作

读取

db.collection.find()

db.users.find(    { age: {$gt: 18}},    {name: 1, address: 1}).limit(5).sort({age:1})

users是collection名字,从users中查找;

age是query criteria,筛选结果,代表查找name字段的值比18大的;

name是projection,筛选列(1代表存在, 0代表不存在),代表返回结果中包含name,address,_id(默认包含字段)字段的值;

limit是cursor modifier,代表返回最多5条;

sort是排序,通过age的值进行排序。

注:

1. 所有的查询只能针对一个单独的collection;

2. 除非使用sort,否则查询结果没有排序;

 

db.collection.findOne() 是返回一个值.

db.collection.find()返回cursor类型。

 

插入

db.collection.insert()

db.users.insert(    {        name:"sue",        age:22,        status:"A"    })

注:

1. 如果insert语句中没有_id属性,mongod会自动加一个_id属性,并产生一个唯一的值,ObjectId.

2. 如果insert语句中带有_id属性,必须保证它的值是唯一的,如果重复,会返回异常.

3. update()和save()操作也可以实现插入功能.

 

更新

db.collection.update() or db.collection.save()

db.users.update(    {age:{$gt:18}},                --update criteria    {$set:{status: "A"}},         --update action    {multi:true}                      --update option)

注:

1. 默认情况下,update方法只更新一个document,但是如果设置multi参数为true,可以更新所有符合的documents

2. save方法只能更新一个单一document

 

删除

db.collection.remove()

db.users.remove(    {status:"D"}        --remove criteria)

注:

1. 默认情况下,remove方法删除掉符合条件的所有documents