文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
插入文档
MongoDB 插入文档
要插入数据到 MongoDB 集合,需要使用 MongoDB 的 insert() 或 save() 方法。
语法
insert() 命令的基本语法如下:
>db.COLLECTION_NAME.insert(document)
例如:
db.mycol.insert(
{
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'tutorials itcast',
url: 'http://www.itcast.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
}
)
db.mycol.insert(
{
title: 'MySQL Overview',
description: 'MySQL is sql database',
by: 'tutorials itcast',
url: 'http://www.itcast.cn',
tags: ['MySQL', 'database', 'SQL'],
likes: 40
}
)
这里 mycol 是集合的名称,如前面的教程中创建。如果集合在数据库中不存在,那么MongoDB 将创建此集合,然后把它插入文档。
插入文档中,如果我们不指定_id参数,然后MongoDB 本文档分配一个唯一的ObjectId。
> db.mycol.find().pretty()
{
"_id" : ObjectId("57d78d91b1a3e5f874cfe47a"),
"title" : "MongoDB Overview",
"description" : "MongoDB is no sql database",
"by" : "tutorials itcast",
"url" : "http://www.itcast.cn",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
{
"_id" : ObjectId("57d78d98b1a3e5f874cfe47b"),
"title" : "MySQL Overview",
"description" : "MySQL is sql database",
"by" : "tutorials itcast",
"url" : "http://www.itcast.cn",
"tags" : [
"MySQL",
"database",
"SQL"
],
"likes" : 40
}
_id 是12个字节的十六进制数,唯一一个集合中的每个文档。 12个字节被划分如下:
_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)
要插入单个查询的多个文档,可以传递一个数组 insert() 命令的文件。
db.mycol.insert(
[
{
title: 'sqlserver',
description: 'sqlserver is sql database',
by: 'tutorials itcast',
url: 'http://www.itcast.cn',
tags: ['sqlserver', 'database', 'SQL'],
likes: 40
},
{
title: 'oracle',
description: 'oracle is sql database',
by: 'tutorials itcast',
url: 'http://www.itcast.cn',
tags: ['oracle', 'database', 'SQL'],
likes: 40
}
]
)
insert() 或 save()区别
1. 插入的文档的无_id
save() 方法等同于insert()
方法
db.col.insert(
{
title: 'oracle',
description: 'oracle is sql database',
}
)
db.col.save(
{
title: 'oracle',
description: 'oracle is sql database',
}
)
2. 插入的文档的带有"_id"
如果想插入的数据对象已存在数据集合中,
insert函数会报错,提示E11000 duplicate key error collection
save函数是覆盖原来的对象
db.col.insert( { _id : 2016001, "name" : "guojing" } ) db.col.save( { _id : 2016001, "name" : "guojing" } )如果想插入的数据对象不存在数据集合中:
insert和save等同
db.col.insert( { _id : 2016002, "name" : "huangrong" } ) db.col.save( { _id : 2016003, "name" : "dongxie" } )插入 在MongoDB insert() 和SQL INSERT 区别
SQL INSERT Statements | MongoDB insert() Statements |
---|---|
INSERT INTO users(user_id, age, status) VALUES ("bcd001", 45, "A") | db.users.insert( { user_id: "bcd001", age: 45, status: "A" } ) |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论