MongoDB insert() 方法 或 save() 方法可以用来插入数据到 MongoDB 的集合中
MongoDB 文档的数据结构和 JSON 基本一样
存储在 MongoDB 集合中的数据都是 BSON 格式
BSON 是一种类 json 的一种二进制形式的存储格式,简称 Binary JSON
insert() 方法
MongoDB 使用 insert() 或 save() 方法向集合中插入文档
insert() 方法语法格式如下
db.COLLECTION_NAME.insert(document)
范例
这个范例使用 insert() 方法将文档存储到 cmsblogs 数据库的 lession 集合中
> db.lession.insert({title: 'MongoDB 基础教程',
description: 'MongoDB 是最流行的 Nosql 数据库',
by: 'dabaicai',
url: 'https://www.cmsblogs.cn',
tags: ['mongodb', 'database', 'NoSQL'],
favorite: 1000000
})
WriteResult({ "nInserted" : 1 })
如果 lession 集合不在数据库 cmsblogs 中, MongoDB 会自动创建该集合并插入文档
查看已插入文档
> db.lession.find()
{
"_id" : ObjectId("59ed9d2dc3ba87608db0fe4b"),
"title" : "MongoDB 基础教程",
"description" : "MongoDB 是最流行的 Nosql 数据库",
"by" : "dabaicai",
"url" : "https://www.cmsblogs.cn",
"tags" : [ "mongodb", "database", "NoSQL" ],
"favorite" : 1000000
}
我们可以将数据先赋值给一个变量
语法如下
variable_name = ( document_data );
小括号是可选的
比如下面把 MongoDB 基础教程 文档赋值给 doc 变量
> doc=({
"title" : "MongoDB 基础教程",
"description" : "MongoDB 是最流行的 Nosql 数据库",
"by" : "dabaicai",
"url" : "https://www.cmsblogs.cn",
"tags" : [ "mongodb", "database", "NoSQL" ],
"favorite" : 1000000
});
然后再使用 insert 方法将文档插入到集合中
> db.lession.insert(doc)
WriteResult({ "nInserted" : 1 })
>
执行后显示结果如下:
> db.lession.find()
{ "_id" : ObjectId("59ed9d2dc3ba87608db0fe4b"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "dabaicai", "url" : "https://www.cmsblogs.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
{ "_id" : ObjectId("59ed9efdc3ba87608db0fe4c"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "dabaicai", "url" : "https://www.cmsblogs.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
>
save() 方法
插入文档也可以使用 db.lession.save(document) 方法
如果不指定 _id 字段 save() 方法类似于 insert() 方法
如果指定 _id 字段,则会更新该 _id 的数据
save() 方法语法格式如下
db.COLLECTION_NAME.save(document)
范例
这个范例使用 save() 方法将文档存储到 cmsblogs 数据库的 lession 集合中
> db.lession.save({title: 'MongoDB 基础教程',
description: 'MongoDB 是最流行的 Nosql 数据库',
by: 'dabaicai',
url: 'https://www.cmsblogs.cn',
tags: ['mongodb', 'database', 'NoSQL'],
favorite: 1000001
})
WriteResult({ "nInserted" : 1 })
使用 find() 方法查询刚刚保存的数据
> db.lession.find()
{ "_id" : ObjectId("59ed9d2dc3ba87608db0fe4b"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "dabaicai", "url" : "https://www.cmsblogs.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
{ "_id" : ObjectId("59ed9efdc3ba87608db0fe4c"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "dabaicai", "url" : "https://www.cmsblogs.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000000 }
{ "_id" : ObjectId("59ed9fc5c3ba87608db0fe4d"), "title" : "MongoDB 基础教程", "description" : "MongoDB 是最流行的 Nosql 数据库", "by" : "dabaicai", "url" : "https://www.cmsblogs.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "favorite" : 1000001 }
最新评论
徒弟可以A师傅,学生可以A老师,为什么外包不能A正式,我觉得很正常。异性相吸这是宇宙真理
PHP天下第一(狗头叼花)
第一个不需要关注公主号直接给激活码的帖子!
客户端超时断开后,服务端如果没有设置超时机制,那也会继续等待处理,万一这期间有消息到了,那不是就接受到消息处理了,但是也没有办法返回到客户端,导致消息丢失。
企业级GO项目开发实战 Kubernetes权威指南 第六版
https://pan.baidu.com/s/1q3bnTncIACKoTZFxvx7BQw?pwd=ii7n
RabbitMQ精讲,项目驱动落地,分布式事务拔高 有吗?
Spring Cloud Alibaba 微服务架构实战 https://pan.baidu.com/s/1jF5voFRoeF0lYAzAPBWSbw?pwd=chqk