zoukankan      html  css  js  c++  java
  • MongoDB插入数据的3种方法

    insert()方法:

    下面是在inventory集合中插入一个三个字段的文档:

    db.inventory.insert( { _id: 10, type: "misc", item: "card", qty: 15 } )
    

    在示例中,文档有一个用户指定的值为10的_id字段,这个值必须在inventory集合中唯一。

    update()方法:

    调用update()方法使用upsert标志创建一个新文档当没有匹配查询条件的文档时。下面的例子当inventory集合中没有包含{type:"books",item:"journal"}的文档时创建一个新文档:

    db.inventory.update(
                             { type: "book", item : "journal" },
                             { $set :     { qty: 10 } },
                             { upsert :true     }
                    )
    

    MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。新文档包含来自查询条件的item和type字段,和来自更新参数的qty字段:

    { "_id" : ObjectId("51e8636953dbe31d5f34a38a"), "item" : "journal", "qty" : 10, "type" : "book" }
    

    save()方法:

    使用save()方法插入一个文档,通过该方法保存一个不包含_id字段的文档或者包含_id字段但该字段值不存在集合中的文档。下面的示例创建一个新的文档在inventory集合:

    db.inventory.save( { type: "book", item: "notebook", qty: 40 } )
    

    MongoDB添加_id字段和分配一个唯一的ObjectId作为它的值。

    { "_id" : ObjectId("51e866e48737f72b32ae4fbc"), "type" : "book", "item" : "notebook", "qty" : 40 }
    

    当在使用save方法时,插入不指定_id时,会自动生成一个。
    Insert和Save的区别是:如果插入的集合的“_id”值,在集合中已经存在,用Insert执行插入操作会报异常,已经存在"_id"的键。用Save如果系统中没有相同的"_id"就执行插入操作,有的话就执行覆盖掉原来的值。相当于修改操作。

    参考:http://www.jb51.net/article/49637.htm

  • 相关阅读:
    LeetCode 189. Rotate Array
    LeetCode 965. Univalued Binary Tree
    LeetCode 111. Minimum Depth of Binary Tree
    LeetCode 104. Maximum Depth of Binary Tree
    Windows下MySQL的安装与配置
    LeetCode 58. Length of Last Word
    LeetCode 41. First Missing Positive
    LeetCode 283. Move Zeroes
    《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》读后感
    删除docker下的镜像
  • 原文地址:https://www.cnblogs.com/xiaotengyi/p/6392661.html
Copyright © 2011-2022 走看看