首页 > 解决方案 > 如何使用 DBRef 查询 MongoDB?

问题描述

我有这样的MongoDB文档

{"_id" : ObjectId("5ad72ebae11b7047690ec174"),
"service" : DBRef("service", ObjectId("59ddb492e11b7005e4470d04")),
"salaryCode" : DBRef("salaryCode",ObjectId("5a786c71e11b7036e60bdf4c")),
"grade" : DBRef("grade", ObjectId("59ddb2fbe11b7005e4470cf0"))}
"grade" : DBRef("grade", ObjectId("59ddb2fbe11b7005e4470cf0"))}

如何通过查找或删除查询访问服务 -> DBRef -> ObjectId?我尝试了以下但不工作:

db.serviceCriteria.find({"service" :DBRef.ObjectId("5a786c71e11b7036e60bdf4c")}).pretty()

有人有什么主意吗?

标签: mongodb

解决方案


你可以试试这个

db.serviceCriteria.find({
  'service.$id': ObjectId("5a786c71e11b7036e60bdf4c")
})

或这个

db.serviceCriteria.find({
  'service': DBRef("service", ObjectId("5a786c71e11b7036e60bdf4c"))
})

推荐阅读