MongoDB 插入文档

本章将学习如何在MongoDB集合中插入文档。

insert() 方法

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

语法

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

>db.COLLECTION_NAME.insert(document)

例子

> db.qikegu.insert({
   _id: ObjectId("507f191e810c19729de860ea"),
   title: 'MongoDB 入门', 
   description: 'MongoDB是开源的NoSQL数据库',
   by: 'qikegu.com',
   url: 'https://www.qikegu.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 888
})

这里qikegu是我们的集合名称,在前一章创建过。如果集合不存在,那么MongoDB将创建这个集合,然后将文档插入其中。

在插入的文档中,如果没有指定_id参数,则MongoDB为该文档分配一个唯一的ObjectId。

_id是一个集合中,每个文档唯一标识,_id是12个字节的16进制数字。12字节划分如下

  • 4 字节 – 表示自Unix纪元以来的秒数
  • 5 字节 – 随机值
  • 3 字节 – 计数器,从一个随机值开始

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

例子

> db.qikegu.insert([
   {
      title: 'MongoDB 入门', 
      description: 'MongoDB是一个以文档为中心的NOSQL数据库',
      by: 'qikegu.com',
      url: 'https://www.qikegu.com',
      tags: ['mongodb', 'database', 'NoSQL'],
      likes: 88
   },

   {
      title: 'MongoDB 优势', 
      description: "MongoDB相对于RDBMS的优势",
      by: 'qikegu.com',
      url: 'https://www.qikegu.com',
      tags: ['mongodb', 'database', 'NoSQL'],
      likes: 89, 
      comments: [   
         {
            user:'user1',
            message: 'My first comment',
            dateCreated: new Date(2018,11,10,2,35),
            like: 0 
         }
      ]
   }
])

要插入文档,还可以使用db.post.save(document)方法。如果没指定_id,那么save()方法将与insert()方法一样,自动生成_id。如果指定_id,则它将替换_id所标识文档的整个数据。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载