我在mongo中有以下结构
{
"_id": ObjectId("5188deba4c2c989909000000"),
"_type": {
"0": "Model_Discs"
}
},
"title": "really cool cd",
"referencedBy": {
"0": {
"$ref": "discs",
"$id": ObjectId("4e171cade3a9f23359e98552")
},
"1": {
"$ref": "discs",
"$id": ObjectId("5045c3222b0a82ec46000000")
}
}
}
这实际上是一个索引数组,其中包含对其他文档的引用。我要查找所有引用 ObjectId("5045c3222b0a82ec46000000") 的文档。起初我写了 "referencedBy.1.$id": ObjectId("5045c3222b0a82ec46000000") 这不起作用(如预期的那样),因为 ObjectId 可以在其他文档的不同索引下找到,即
referencedBy.1.$id
referencedBy.5.$id
referencedBy.3.$id
因此,我需要找到所有引用我的 ObjectId 的文档,这些文档位于 referencedBy DocumentSet 下的任何位置。就像是
"referencedBy.*.$id": ObjectId("5045c3222b0a82ec46000000")