1、插入文档
命令:insert
eg:db.foo.insert({"bar":"baz"})
注:如果插入多个文档,使用批量插入会快一些。批量插入能传递一一由文档构成的数组给数据库.
2 、删除文档
命令:remove
eg、db.foo.remove({"bar":"baz"})
注:删除数据是永久性的,不能撤销,也不能恢复
3、更新文档
描述:文档存入数据后,可用update方法来修改它,共2个参数,参数1:查询文档,找出要更新的文档;参数2:修改器(modifier)文档,描述对找到的文档做哪些更改。
命令:update
eg: 要对正面的用户文档做调整:
注:查询条件匹配了多个文档时,由于第二个参数的存在就产生重复的“_id”值,数据库会报错,不做任务修改.
3.1、更新修改器
更新修改器是种特殊的键,用来指定复杂的更新操作,如调整、增加、删除键、操作数组及内嵌文档。
3.1.1 “$set”修改器
$set 用来指定一个键的值。如果这个键不存在,刚创建。
eg、db.users.update({"name":"joe",{$set:{"favorite book":"war and peace"}}})
3.1.2 $unset
$unset :将键完全删除;
eg、db.users.update({"name":"joe"}, {$unset:{"favotite book":1}})
3.1.3 $inc
$inc 修改器用来增加已有键的值,或者在键不存在时创建一个键.
eg、db.users.update({"name":"joe"},{$inc:{"score":80}})
注:$inc 只能用于整数、长整数、又精度浮点数
3.14 upsert
upsert 是一种特殊的更新,若没有符合更新条件的文档,就会心这个条件和更新文档为基础创建一个新的文档,存在就正常更新。
即同一套代码既可以创建又可以更新文档.
update的第3个参数表示upsert
eg、db.math.update({"count":25},{"$inc":{"visits":1}},true)
3.1.5 更新多个文档
默认情况下,更新只能对符合匹配条件的第一个文档执行操作。可以设置update的第4个参数来控制更新一个或全部文档,
第4个参数 true:更新所有匹配文档,false:更新第一个文档
eg、db.users.update({birthday:"10/13/2014"},{$set:{gift:"Happy Birthday"}},false,true)
注:getLastError / getLastOpStatus :返回更新了多少文档
eg、db.runCommand({getLastError:1})
3.1.6 返回更新文档
getLastError 仅能获取有些的信息,但不能返回更新的文档,这时可用findAndModify命令来获取更新的文档.
本文介绍MongoDB中使用insert、remove、update命令进行文档操作的方法,包括批量插入、永久删除、复杂更新及操作符使用,并提供实例演示。
1134

被折叠的 条评论
为什么被折叠?



