带有$ref和$id的MongoDB查找查询
我正在努力处理mongodb查询 考虑到这个问题1:带有$ref和$id的MongoDB查找查询,mongodb,mongodb-query,Mongodb,Mongodb Query,我正在努力处理mongodb查询 考虑到这个问题1: db.procedures.find({'procedure.name':'nameOfMyProcedure'}) 查询2: db.procedure_executions.find({'foo.bar':'whatever'}) 查询1返回许多过程对象,这些对象在缩短版本中如下所示: { "_id": ObjectId("5564df8d30041530fb68e1eb"), "_class": "eu.whateve
db.procedures.find({'procedure.name':'nameOfMyProcedure'})
查询2:
db.procedure_executions.find({'foo.bar':'whatever'})
查询1返回许多过程对象,这些对象在缩短版本中如下所示:
{
"_id": ObjectId("5564df8d30041530fb68e1eb"),
"_class": "eu.whatever.model.db.impl.DbProcedureExecutionImpl",
"procedure": {
"_class": "eu.whatever.common.model.impl.ProcedureImpl",
"className": "eu.whatever",
"name": "nameOfMyProcedure",
"kind": "METHOD",
"arguments": []
},
"caller": {
"$ref": "procedure_executions",
"$id": ObjectId("5564df8d30041530fb68e1e8")
}
}
查询2的结果对象在查询1中被引用为“调用者”
如何在单个嵌套查询中按引用调用方及其属性(查询2)筛选过程(查询1)
我偶然发现了1美元。是否可以向$in内的另一个集合(过程执行)添加查询?“我自己也是新来的”,但请尝试:
db.procedures.find(
{'procedure.name':'nameOfMyProcedure'},
{'caller.$ref': 'procedure_executions'})
发件人:
注:
当指定以逗号分隔的表达式列表时,MongoDB提供了隐式的和操作。当必须在多个表达式中指定同一字段或运算符时,需要使用带有$和运算符的显式和
我的问题可能不明确,引用集合“procedure_executions”的名称是固定的,但procedure_execution对象需要满足某些条件(如对象的name属性)。您知道如何解决这个问题吗?不幸的是,这并不是因为它只指定了引用集合的名称。现在这个问题应该更准确了。你知道怎么解决吗?