我正在努力使用mongodb查询。
鉴于此查询1:
db.procedure_executions.find({'foo.bar':'whatever'})
和此查询2:
{
"_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")
}
}
查询1在缩短版本中返回许多过程对象:
var trimLine = new fabric.Rect({
width: Math.round(obj.box_dimensions.trimbox.width,2),
height: Math.round(obj.box_dimensions.trimbox.height,2),
strokeWidth: 1,
stroke: 'rgb(255,2,2)',
fill: '',
selectable: false
});
查询2的结果对象在查询1中被称为“调用者”。
如何在单个嵌套查询中通过引用的调用方及其属性(查询2)过滤过程(查询1)?
我遇到了$ in。是否可以将查询添加到$ in?
中的另一个集合(procedure_executions)答案 0 :(得分:0)
"我自己就是新人",但请尝试:
db.procedures.find(
{'procedure.name':'nameOfMyProcedure'},
{'caller.$ref': 'procedure_executions'})
来自$and
:
注意:
MongoDB在指定逗号分隔的表达式列表时提供隐式
AND
操作。当必须在多个表达式中指定相同的字段或运算符时,必须使用带有AND
运算符的显式$and
。