mongodb - 如何使用 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()
有人有什么主意吗?
解决方案
你可以试试这个
db.serviceCriteria.find({
'service.$id': ObjectId("5a786c71e11b7036e60bdf4c")
})
或这个
db.serviceCriteria.find({
'service': DBRef("service", ObjectId("5a786c71e11b7036e60bdf4c"))
})
推荐阅读
- apache - 无法让 Apache docker 容器为具有子域的虚拟主机提供服务
- javascript - 列表项从下到上删除,但不是从上到下
- javascript - 如何使用按钮或开关更改整个 css 文件?
- python - Vanilla 和堆叠 LSTM 的区别
- html - 如何停止位置:将元素固定在 css 和 html 中的正确位置?
- file-upload - 将大文件上传到 Azure Blob 存储引发异常
- time-complexity - 渐近增长后的顺序
- batch-file - Xcopy 目录模式匹配
- php - 搜索结果中的“未定义偏移”错误
- sql-server - SQL Server 中列名后的# 是什么意思