频道栏目
首页 > 数据库 > 其他综合 > 正文
MongoDB的insertdocument解析
2018-09-27 10:33:07      个评论      
收藏   我要投稿

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

点击复制链接 与好友分享!回本站首页
上一篇:查看表占用空间
下一篇:MySQL性能优化解析
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站