- 添加文档
在mongodb中,用db.collection.insert()方法向集合中添加一个新的文档。此外,还能够用db.collection.update()和db.collection.save()也可经过一个补称为更新插入(upsert)的操做添加一个新文档。若是文档存在执行更新操做,返之执行插入操做。
insert() 插入:
db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )
*_id的值必须惟一
用update()插入: db.inventory.update(
{ type: "book", item : "journal" },
{ $set : { qty: 10 } },
{ upsert : true }
)
MongoDB 自动添加_id字段并赋一个惟一值。若是qty=11 不存在,则插入。

save() 插入
若是_id的值已存在,则执行更新,反之,插入新文档。
db.inventory.save( { type: "book", item: "notebook", qty: 40 } )
- 修改文档
在MongoDB,用db.collection.update()和db.collection.save()方法修改集合中已存在的文档。
db.collection.save()只根据_id 字段进行修改
db.collection.update()可根据条件修改一个或多个文档。
save()修改
db.inventory.save(
{
_id: 10,
type: "misc",
item: "placard"
}
)
update()修改
默认状况下,update()只修改一个文档,若是multi=true,则更新符合条件的全部文档(multi update only works with $ opterators)。
db.collection.update(
<query>,
<update>,
{
upsert: <Boolean>,
multi: <Boolean>,
}
)
以下测试:
集合中原有文档:

执行update()后:

加上multi:true,执行结果:

修改器:
一般状况下,文档只会更新一部份内容。利用更新修改器,更新很是高效。更新修改器是种特殊的键,用来指定复杂的更新操做,好比调整、增长或者删除键,还多是操做数组或者内嵌文档。
$inc 增长或减小修改器
用来增长或减小已有键的值,若是键不存在便自动建立。只能用于成天数、长整数或双精度浮点数。默认状况下,只更新所匹配的第一条,若是更新匹配的全部文档,需设置multi:true.
如下为测试事例:
不加multi:true

加multi:true:

$set修改器
$set 用来指定一个键的值。若是该键不存在,则自动建立。跟$inc相似,若是更新多个文档需设置multi:true.事例以下:

mongodb
- 删除文档
在MongoDB中,用db.collection.remove()执行删除,这个比较简单。如下分别为删除集合中的全部文档,删除匹配条件的文档,删除匹配条件的第一个文档。
db.inventory.remove()
db.inventory.remove( { type : "food" } )
db.inventory.remove( { type : "food" }, 1 )