MongoDB学习笔记(一)-Insert操作

本文档详细介绍了MongoDB的插入操作,包括Insert Documents、插入行为和多种插入方法,如insertOne、insertMany、insert,以及save、update等能实现插入效果的方法。
摘要由CSDN通过智能技术生成

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版本*
将单个文档插入到一个集合,
db.users.insertOne(
   {
      name: "sue",
      age: 19,
      status: "P"
   }
)
//会返回文档的操作状态。
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5742045ecacf0ba0c3fa82b0")
}

db.collection.insertMany()

*3.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:
//插入单个对象
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值