在本章中,我们将学习如何在MongoDB集合中插入文档.
将数据插入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的文档的整个数据.