zoukankan      html  css  js  c++  java
  • MongoDB插入文档

     

    db.collection.insertOne() 插入单个文档。
    db.collection.insertMany() 插入多个文档。
    db.collection.insert() 插入单/多个文档。

     

    insert()方法

    要将数据插入到 MongoDB 集合中,需要使用 MongoDB 的 insert()或save()方法。

    语法

    insert()命令的基本语法如下:

    >db.COLLECTION_NAME.insert(document)
     

    示例

    >db.mycol.insert({
       _id: 100,
       title: 'MongoDB Overview',
       description: 'MongoDB is no sql database',
       by: 'yiibai tutorials',
       url: 'http://www.yiibai.com',
       tags: ['mongodb', 'database', 'NoSQL'],
       likes: 100,
    })


    这里mycol是集合的名称,在前一章中所创建的。如果数据库中不存在集合,则MongoDB将创建此集合,然后将文档插入到该集合中。

    在插入的文档中,如果不指定_id参数,那么 MongoDB 会为此文档分配一个唯一的ObjectId。

    _id为集合中的每个文档唯一的12个字节的十六进制数。 12字节划分如下

    _id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)


    要在单个查询中插入多个文档,可以在insert()命令中传递文档数组。如下所示  -

    > db.post.insert([{
       title: 'MongoDB Overview',
       description: 'MongoDB is no sql database',
       by: 'tutorials point',
       url: 'www.tutorialspoint.com',
       tags: 'database',
       likes: 100},
       {
       title: 'MongoDB Overview2',
       description: 'MongoDB is no sql database2',
       by: 'tutorials point2',
       url: 'www.tutorialspoint.com2',
       tags: 'database2',
       likes: 200}
       ])


    要插入文档,也可以使用db.post.save(document)。 如果不在文档中指定_id,那么save()方法将与insert()方法一样自动分配ID的值。如果指定_id,则将以save()方法的形式替换包含_id的文档的全部数据。


    db.collection.insertOne()方法

    db.collection.insertOne()方法将单个文档插入到集合中。以下示例将新文档插入到库存集合中。 如果文档没有指定_id字段,MongoDB会自动将_id字段与ObjectId值添加到新文档。


    db.inventory.insertOne({ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } })
     

    db.collection.insertOne()方法返回包含新插入的文档的`_id` 字段值的文档。

    执行结果如下  

    > db.inventory.insertOne(
    { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
    )
    {
    "acknowledged" : true,
    "insertedId" : ObjectId("5955220846be576f199feb55")
    }
     
     

    db.collection.insertMany()方法

    db.collection.insertMany()方法将多个文档插入到集合中,可将一系列文档传递给db.collection.insertMany()方法。以下示例将三个新文档插入到库存集合中。如果文档没有指定_id字段,MongoDB会向每个文档添加一个ObjectId值的_id字段。

    db.inventory.insertMany([
    { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
    { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
    { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
    ])
     

    insertMany()返回包含新插入的文档_id字段值的文档。执行结果如下 -

    > db.inventory.insertMany([
    { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
    { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
    { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
    ])
    {
    "acknowledged" : true,
    "insertedIds" : [
    ObjectId("59552c1c46be576f199feb56"),
    ObjectId("59552c1c46be576f199feb57"),
    ObjectId("59552c1c46be576f199feb58")
    ]
    }
     


  • 相关阅读:
    Apache配置
    linux centos使用xrdp远程界面登陆
    实现台式机redhat6.4无线网卡上网RTL8188CUS
    linux-redhat6.4驱动无线网卡rtl8188eu
    linux开机自动连接无线网络
    javascript for循环 日期 select
    amazeui折叠面板智能化展开
    PHP Ueditor 富文本编辑器
    vue.js 使用小结
    php mysqli mysqli_query() mysqli_real_query()
  • 原文地址:https://www.cnblogs.com/liang545621/p/7372126.html
Copyright © 2011-2022 走看看