MongoDB - 插入文档

在本章中,我们将学习如何在MongoDB集合中插入文档.

insert()方法

将数据插入MongoDB集合,您需要使用MongoDB的 insert() save()方法.

语法

insert()命令的基本语法如下 :

 
>db.COLLECTION_NAME. insert(document)

示例

>db.mycol.insert({
   _id: ObjectId(7df78ad8902c),
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials point',
   url: 'http://www.it1352.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 100
})

这里 mycol 是我们的集合名称,如上一章所述.如果数据库中不存在该集合,那么MongoDB将创建此集合,然后在其中插入文档.

在插入的文档中,如果我们不指定_id参数,然后MongoDB为此文档分配唯一的ObjectId.

_id是12个字节的十六进制数,对于集合中的每个文档都是唯一的. 12个字节分为以下;

_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 
   3 bytes incrementer)

要在单个查询中插入多个文档,可以在insert()命令中传递一组文档.

示例

>db.post.insert([
   {
      title: 'MongoDB Overview', 
      description: 'MongoDB is no sql database',
      by: 'tutorials point',
      url: 'http://www.it1352.com',
      tags: ['mongodb', 'database', 'NoSQL'],
      likes: 100
   },
	
   {
      title: 'NoSQL Database', 
      description: "NoSQL database doesn't have tables",
      by: 'tutorials point',
      url: 'http://wwwit1352.com',
      tags: ['mongodb', 'database', 'NoSQL'],
      likes: 20, 
      comments: [	
         {
            user:'user1',
            message: 'My first comment',
            dateCreated: new Date(2013,11,10,2,35),
            like: 0 
         }
      ]
   }
])

要插入文件你也可以使用 db.post.save(document).如果您未在文档中指定 _id ,则 save()方法将与 insert()方法相同.如果指定_id,则它将替换save()方法中指定的包含_id的文档的整个数据.