Учебники

MongoDB — Вставить документ

В этой главе мы узнаем, как вставить документ в коллекцию MongoDB.

Метод вставки ()

Чтобы вставить данные в коллекцию MongoDB, вам необходимо использовать метод insert () или save () MongoDB.

Синтаксис

Основной синтаксис команды 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.tutorialspoint.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.tutorialspoint.com',
      tags: ['mongodb', 'database', 'NoSQL'],
      likes: 100
   },
	
   {
      title: 'NoSQL Database', 
      description: "NoSQL database doesn't have tables",
      by: 'tutorials point',
      url: 'http://www.tutorialspoint.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, он заменит все данные документа, содержащие _id, как указано в методе save ().