插入文档

该页面提供了MongoDB中插入操作的示例。

建立集合

如果该集合当前不存在,则插入操作将创建该集合。

插入一个文件

db.collection.insertOne()将单个文档插入集合中。

以下示例将一个新文档插入库存集合。 如果文档未指定**_id字段,则MongoDB将具有ObjectId值的_id**字段添加到新文档中。 请参阅插入行为

db.inventory.insertOne(  
        { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)

insertOne()返回一个文档,其中包含新插入的文档的_id字段值。有关返回文档的示例,请参阅db.collection.insertOne() reference引用。

要检索刚刚插入的文档,查询集合:

db.inventory.find( { item: "canvas" } )

插入多个文件

3.2版中的新功能

db.collection.insertMany()可以将多个文档插入一个集合中。 将文档数组传递给该方法。

下面的示例将三个新文档插入库存集合。 如果文档未指定**_id字段,则MongoDB向每个文档添加带有ObjectId值的_id**字段。 请参阅 插入行为

db.inventory.insertMany([
        { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } }, 
        { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
        { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
    ])

返回包含新插入的文档**_id**字段值的文档。 有关示例,请参见参考

要检索插入的文档,查询集合:

db.inventory.find( {} )

插入行为

集合创建

如果该集合当前不存在,则插入操作将创建该集合。

_id Field

在MongoDB中,存储在集合中的每个文档都需要一个唯一的**_id字段作为主键。 如果插入的文档省略_id字段,则MongoDB驱动程序会自动为_id字段生成ObjectId**。

这也适用于通过upsert:true通过更新操作插入的文档。

原子性

MongoDB中的所有写操作都是单个文档级别的原子操作。 有关MongoDB和原子性的更多信息,请参见原子性和事务.

写确认书

对于写入问题,您可以指定从MongoDB请求的写入操作的确认级别。 有关详细信息,请参见写关注

另可参考:

译者:杨帅

校对:杨帅

最后更新于