如何在向MongoDB添加not文档时创建最后一个ObjectId

如何在向MongoDB添加not文档时创建最后一个ObjectId,mongodb,mongoid,mongodb-.net-driver,Mongodb,Mongoid,Mongodb .net Driver,我有两个集合“公司”和“用户”,当我向集合“公司”添加一个新文档时,软件默认情况下,我希望在“用户”集合上与一个新管理员用户创建一个新文档,但此新用户必须与以前创建的“公司”集合中的新文档相关 类似于MS SQL上的“选择@@identity”:p 样本数据结构: Companies. _id = ObjectId("aaaa"); . Name = "Company name"; Users. _id = ObjectId("uuuu"); . Name = "a

我有两个集合“公司”和“用户”,当我向集合“公司”添加一个新文档时,软件默认情况下,我希望在“用户”集合上与一个新管理员用户创建一个新文档,但此新用户必须与以前创建的“公司”集合中的新文档相关

类似于MS SQL上的“选择@@identity”:p

样本数据结构:

Companies. _id = ObjectId("aaaa");
         . Name = "Company name";

Users. _id = ObjectId("uuuu");
     . Name = "admin"
     . CompanyId = ????
ObjectiDaaAA由Mongo在Collection.Update上定义和存储,以存储在Users.CompanyId上

问候,


路易斯·佩德罗(Luis Pedro)

使用MongoID ObjectID,您可以使用自己的PK:

插入公司文档时,如果明确声明名为“\u id”的字段及其值,mongodb将不会再次创建对象\u id,您还可以将声明的值存储在变量中,并将其重新用于在用户集合中插入文档

或者,您可以在插入后查找公司,查找最后一次插入,并推断系统生成的id并重用它


希望对lese的观点有所帮助,您可以使用下面的代码片段查找最后一个文档

db.companys.find{},{u id:1}.skipdb.companys.find.count-1