0
点赞
收藏
分享

微信扫一扫

MongoDB的insert document

自由的美人鱼 2022-01-31 阅读 65


MongoDB插入

Insert Documents

    menu

        insert Behavior

        insert Methods

插入行为

* 如果集合不存在,插入操作将创建集合。

* 在集合中,具有唯一主键`_id`。如果在插入文件中未声明`_id`;MongoDB将自动使用`ObjectIds`作为`_id`

插入数据的方法

MongoDB提供了保存数据的方法一共有三个:

    1. db.collection.insertOne()

    2. db.collection.insertMany()

    3. db.collection.insert()

db.collection.insertOne()

*3.2版本*

将单个文档插入到一个集合,

    1

    2

db.users.insertOne(

   {

      name: "sue",

      age: 19,

      status: "P"

   }

)

//会返回文档的操作状态。

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5742045ecacf0ba0c3fa82b0")

}

db.collection.insertMany()

*3.2版本*

将文档数组插入到一个集合,

    1

    2

db.users.insertMany(

   [

     { name: "bob", age: 42, status: "A", },

     { name: "ahn", age: 22, status: "A", },

     { name: "xi", age: 34, status: "D", }

   ]

)

//会返回文档的操作状态。

{

   "acknowledged" : true,

   "insertedIds" : [

      ObjectId("57420d48cacf0ba0c3fa82b1"),

      ObjectId("57420d48cacf0ba0c3fa82b2"),

      ObjectId("57420d48cacf0ba0c3fa82b3")

   ]

}

db.collection.insert()

将单个或多个文档到一个集合。要插入一个单一的文件,传递文档;插入多个文件,传递文档数组。

eg:

    1

    2

//插入单个对象

db.users.insert(

   {

      name: "sue",

      age: 19,

      status: "P"

   }

)

//返回一个 WriteResult 对象;如果插入错误,会返回错误信息

WriteResult({ "nInserted" : 1 })

//插入数组

db.users.insert(

   [

     { name: "bob", age: 42, status: "A", },

     { name: "ahn", age: 22, status: "A", },

     { name: "xi", age: 34, status: "D", }

   ]

)

//返回 BulkWriteResult 对象

BulkWriteResult({

   "writeErrors" : [ ],

   "writeConcernErrors" : [ ],

   "nInserted" : 3,

   "nUpserted" : 0,

   "nMatched" : 0,

   "nModified" : 0,

   "nRemoved" : 0,

   "upserted" : [ ]

})

同样能实现插入效果的方法

    db.collection.update() 当upsert为true时//第三个参数

    db.collection.updateOne() 当upsert为true时//第三个参数

    db.collection.updateMany() 当upsert为true时//第三个参数

    db.collection.findAndModify() 当upsert为true时**

    db.collection.findAndModify() 当upsert为true时**

    db.collection.findOneAndReplace() 当upsert为true时

    db.collection.save().

    db.collection.bulkWrite().

db.collection.save()

db.collection.save(doc) 若doc含有_id且在集合中存在,这将会替换集合内的文档(update),不存在则是insert该文档,若不存在_id,则是insert


举报

相关推荐

0 条评论