私は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
したがって、referencedBy DocumentSet の下にある ObjectId を参照するすべてのドキュメントを見つける必要があります。何かのようなもの
"referencedBy.*.$id": ObjectId("5045c3222b0a82ec46000000")