MongoDB的新功能。浏览文档。
来自https://docs.mongodb.com/manual/reference/method/db.collection.insert/#id-field
如果文档没有指定_id字段,那么MongoDB将在插入之前添加_id字段并为文档指定唯一的ObjectId。大多数驱动程序创建一个ObjectId并插入_id字段,但如果驱动程序或应用程序没有,mongod将创建并填充_id。
这里说MongoDB将创建_id。
来自https://docs.mongodb.com/manual/reference/method/db.collection.save/?_ga=2.24854906.1181826191.1496665143-146886871.1493019056#save-a-new-document-without-specifying-an-id-field
在插入期间,shell将创建具有唯一ObjectId值的_id字段,由插入的文档验证。
在这里,它说Mongo shell。
是mongo shell创建默认的ObjectID还是mongod?希望有人能澄清一下!
答案 0 :(得分:1)
如果客户端未提供_id
,则MongoDB服务器将执行此操作。 shell只是另一种类型的客户端;它为插入的文档提供_id
,因此服务器不需要。但是其他驱动程序/客户端可能没有,所以在那些情况下服务器会这样做。
答案 1 :(得分:0)
如果客户端没有为文档创建Id,mongo服务器将在创建新文档时创建_id。