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

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

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

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

插入文档

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

 db.COLLECTION_NAME.insert(document)  

实例

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

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

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

查看已插入文档:

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

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

> document=({title: 'MongoDB 教程',
	description: 'MongoDB 是一个 Nosql 数据库', 
	by: 'Mongodb中文网',    
	url: 'http://www.mongodb.org.cn', 
	tags: ['mongodb', 'database', 'NoSQL'],  
	likes: 100  
});  

执行后显示结果如下:

{          
	"title" : "MongoDB 教程",  
	"description" : "MongoDB 是一个 Nosql 数据库", 
	"by" : "Mongodb中文网",        
	"url" : "http://www.mongodb.org.cn",  
	"tags" : [                
		"mongodb",           
		"database",        
		"NoSQL"       
	],       
	"likes" : 100  
}  

执行插入操作:

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

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