【发布时间】:2020-04-09 17:14:44
【问题描述】:
我正在 MonogDB 中寻找一种有效的方法来确定一个集合中的哪些文档不被另一个集合中的文档引用。
该数据库包含两个集合,inventory 和 tags,其中inventory 中的一些(不是全部)文档引用了tags 文档之一:
{
"_id" : ObjectId("5e8df3c02e197074f39f61ea"),
"tag" : ObjectId("5e89a1af96d5d8b30aead768"),
"ean" : "5707196199178",
"location" : "shelf 1"
},
{
"_id" : ObjectId("5e8df211727079cdc24e20e1"),
"ean" : "5707196199178",
"location" : "shelf 1"
}
“标签”文档没有任何参考inventory中的文档:
{
"_id" : ObjectId("5e7d174fc63ce5b0ca80b89a"),
"nfc" : { "id" : "04:5f:ae:f2:c2:66:81" },
"barcode" : { "code" : "29300310", "type" : "EAN8" }
},
{
"_id" : ObjectId("5e89a1af96d5d8b30aead768"),
"nfc" : { "id" : "04:48:af:f2:c2:66:80" },
"barcode" : { "code" : "29300716", "type" : "EAN8" }
},
{
"_id" : ObjectId("5e7d1756c63ce5b0ca80b89c"),
"nfc" : { "id" : "04:02:ae:f2:c2:66:81" },
"barcode" : { "code" : "29300648", "type" : "EAN8" }
}
由于并非tags 中的所有文档都用于inventory 文档中,因此我不能简单地将它们作为子文档。
现在我需要确定,哪些tags 文档没有被任何inventory 文档引用。我宁愿不必维护从 tags 到 inventory 的反向引用,以免出现不一致的风险(除非这可以由 MongoDB 自动完成?)。
我对 MongoDB 很陌生,从目前所学的知识来看,我的印象是视图可能是我需要的。但我似乎缺乏适当的搜索词来找到帮助我理解足以继续进行的示例。也许我需要一些不同的东西,在这里我希望您的意见能够为我指明正确的方向。
【问题讨论】:
标签: mongodb