hebwxw 发表于 2015-7-10 09:52:25

更新,创建,删除mongodb文档(原创)

  1,1.插入并保存文档:
  db.person.insert("bar":"baz");
  2.1删除文档:
  db.user.remove();--这条语句会删除所有的文档 ,但是不包括集合,原有的索引也会保留。
  2.2直接删除集合:
  db.drop_collection("user");--这个不但会删除集合,连索引也会一并删除。
  3.1文档替换:

  3.2使用修改器:
  $inc修改器:db.analytics.update({"url":"www.example.com"},{"inc":{"page":1}})
  $set修改器:用来指定一个键的值,如果不存在就创建。
  db.user.update({"user":"tang"},{"$set":{"favourite book":"war and peace"}})--$set还可以修改键的数据类型。
  db.user.update({"user":"tangke",{"favourite book":["war and peace","because of you"]}})--修改键的数据类型实例。
  $unset删除一个键。
  数据修改器:
$push:向已有的数据末尾加入数据。
  $addToSet:避免重复添加数据。并且将$addToSet和$each可以添加多个值。
  $pop:{$pop:{key:1}}从数组末尾删除一个数据。
  > db.user.insert({"name":"tangke","comment":["god ","better","best"],"age":24})。--插入数据。
  { "_id" : ObjectId("4f542cc1eccef5450cf5f3c5"), "age" : 24, "comment" : [ "god "
, "better" ], "name" : "tangke" }--使用$pop后的情况。
  $upsert:如果没有文档符合条件,就新创建一条数据。
  { "_id" : ObjectId("4f542cc1eccef5450cf5f3c5"), "age" : 24, "comment" : [ "god "
, "better" ], "name" : "tangke" }      --现在没有name=liyi的数据,现在使用upsert来更新。
  > db.user.update({"name":"liyi"},{"name":"liyi"},true)
> db.user.find()
{ "_id" : ObjectId("4f542cc1eccef5450cf5f3c5"), "age" : 24, "comment" : [ "god "
, "better" ], "name" : "tangke" }
{ "_id" : ObjectId("4f542e8070322560d367bbd2"), "name" : "liyi" }--现在存在这个文档了,第三个参数为true,表示使用upsert功能。
  3.3一次更新多个文档:(更新只能对一个符合要求的文档进行更新,如果要更新多个文档的话, 请看下面)
  > db.user.find({"name":"tangke"})
{ "_id" : ObjectId("4f542cc1eccef5450cf5f3c5"), "age" : 24, "comment" : [ "god "
, "better" ], "name" : "tangke" }
{ "_id" : ObjectId("4f542f2beccef5450cf5f3c6"), "name" : "tangke", "age" : 25 }   --现在集合中有两条name=tangke的文档。现在来使用多个更新。
  > db.user.update({"name":"tangke"},{"$inc":{"age":1}},false,true)
> db.user.find({"name":"tangke"})
{ "_id" : ObjectId("4f542cc1eccef5450cf5f3c5"), "age" : 25, "comment" : [ "god "
, "better" ], "name" : "tangke" }
{ "_id" : ObjectId("4f542f2beccef5450cf5f3c6"), "name" : "tangke", "age" : 26 }   --现在集合中的name=tangke的文档都被更新了,update语句的第四个参数表示进行多个文档更新。
3.4返回更新的文档:findAndModify.
  
页: [1]
查看完整版本: 更新,创建,删除mongodb文档(原创)