• 3.Mongodb的文档插入


    插入操作操作是Mongodb中添加数据的基本方法,这用主要有两种方法进行插入:

    • insertOne:这个是对集合进行单条数据插入
    • insertMany:这个是对集合进行多条数据进行插入
    ##单条插入
    >
    db.one.insertOne({"name":"Oner"}) { "acknowledged" : true, "insertedId" : ObjectId("62513012f4a74899d0aa416e") }
    ##这也是一个单条插入
    >
    db.one.insertOne({"name":"second",age:20}) { "acknowledged" : true, "insertedId" : ObjectId("625130f9f4a74899d0aa4170") } > > db.one.find(); { "_id" : ObjectId("62513012f4a74899d0aa416e"), "name" : "Oner" } { "_id" : ObjectId("625130b1f4a74899d0aa416f"), "name" : "zero", "age" : 20 } { "_id" : ObjectId("625130f9f4a74899d0aa4170"), "name" : "second", "age" : 20 } >

    从上面两个单条插入语句可以看出,集合中的每个文档(行)可以有属性(字段)不同,这个和关系型数据有根本的区别

    再来看看多条插入

    > db.one1.insertMany([{"name":"one"},{"name":"two"},{"name":"three"}])
    {
        "acknowledged" : true,
        "insertedIds" : [
            ObjectId("62513228f4a74899d0aa4171"),
            ObjectId("62513228f4a74899d0aa4172"),
            ObjectId("62513228f4a74899d0aa4173")
        ]
    }
    > db.one1.find();
    { "_id" : ObjectId("62513228f4a74899d0aa4171"), "name" : "one" }
    { "_id" : ObjectId("62513228f4a74899d0aa4172"), "name" : "two" }
    { "_id" : ObjectId("62513228f4a74899d0aa4173"), "name" : "three" }

    上面的多条插入使用了数组方式,挺有意思的。。。

    这里多条数据插入(insertMany)可以很快地提高插入速度。。。如果要将多个文档插入单个集合中,那么insertMany将非常有用。。。

    这里补充一个很重要的知识点就是多个文档进行插入时,如果中途某个文档发生了某种类型的错误,那么接下来会发生什么取决于所选择的是有序操作还是无序操作。。。

    这里就可以执行insertMany的第二个参数。将选项文档中的"ordered"键指定为true,可以确保按照有序操作,指定为false则允许mongdb重新排列插入顺序以提高性能。如果没有特别指定,则默认是有序插入。对于有序插入,插入顺序由传递给insertMany的数据组进行定义。如果一个文档产生了插入错误,则数组中在此之后的文档都将不会被插入到集合中。对于无序插入,Mongodb将尝试插入所有文档,而不管某些插入是否产生错误。。。

  • 相关阅读:
    linux C++类中成员变量和函数的使用
    使用linux backtrace打印出错函数堆栈信息
    R String 操作
    make
    *.efasta to fasta format transformation
    python os 库
    Ch12 Resampling statistics and bootstrapping
    Updating an R installation
    10 步让你成为更优秀的程序员
    Working with large datasets
  • 原文地址:https://www.cnblogs.com/zmc60/p/16131977.html
Copyright © 2020-2023  润新知