据我所知,_id是由mongodb生成的。有没有办法手动设置它?如果是这样,如何使用C#驱动程序?
答案 0 :(得分:4)
我设法自己找到答案。对于C#驱动程序,只需将名称Id
或_id
提供给所需的属性,而不要在类中使用ObjectId
类型属性。然后内部驱动程序以某种方式确定此属性为{mnodb中的数据_id
。
答案 1 :(得分:1)
是的,您可以在客户端生成ObjectID。每个客户端库都应提供一种方法。这是红宝石驱动程序中的方式
require 'mongo'
oid = BSON::ObjectId.new
但_id
字段不一定是ObjectId。它可以是任何东西(除了数组)。插入文档时,您可以提供自己的值,mongo会很乐意接受它。