W3C HTML 网页标准教程

MongoDB 插入文档

本章节中我们将向大家介绍如何将数据插入到 MongoDB 的集合中。

文档的数据结构和 JSON 基本一样。

所有存储在集合中的数据都是 BSON 格式。

BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称。

插入文档

MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:

db.COLLECTION_NAME.insert(document)  db.COLLECTION_NAME.save(document)

3.2 版本之后新增了 db.collection.insertOne() 和 db.collection.insertMany()。

db.collection.insertOne() 用于向集合插入一个新文档,语法格式如下:

db.collection.insertOne(    <document>,    {       writeConcern: <document>    } )

db.collection.insertMany() 用于向集合插入一个多个文档,语法格式如下:

db.collection.insertMany(    [ <document 1> , <document 2>, ... ],    {       writeConcern: <document>,       ordered: <boolean>    } )

参数说明:

实例

以下文档可以存储在 MongoDB 的 runoob 数据库 的 col 集合中:

>db.col.insert({title: 'MongoDB 教程',      description: 'MongoDB 是一个 Nosql 数据库',     by: '菜鸟教程',     url: 'http://www.runoob.com',     tags: ['mongodb', 'database', 'NoSQL'],     likes: 100 })

以上实例中 col 是我们的集合名,如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。

查看已插入文档:

> db.col.find() { "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } > 

我们也可以将数据定义为一个变量,如下所示:

 

> document=({title: 'MongoDB 教程',      description: 'MongoDB 是一个 Nosql 数据库',     by: '菜鸟教程',     url: 'http://www.runoob.com',     tags: ['mongodb', 'database', 'NoSQL'],     likes: 100 });

执行后显示结果如下:

{         "title" : "MongoDB 教程",         "description" : "MongoDB 是一个 Nosql 数据库",         "by" : "菜鸟教程",         "url" : "http://www.runoob.com",         "tags" : [                 "mongodb",                 "database",                 "NoSQL"         ],         "likes" : 100 }

执行插入操作:

> db.col.insert(document) WriteResult({ "nInserted" : 1 }) > 

插入文档你也可以使用 db.col.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。