所以我有mongodb集合,其中一些文档有一些密钥(beatmapset_id)
:
{
"_id" : "fgq7SK7LnLbcFzgSb",
"beatmapset_id" : "59049",
"version" : "Hard",
"artist" : "UNDEAD CORPORATION",
"title" : "Yoru Naku Usagi wa Yume wo Miru",
"creator" : "Strawberry"
}
{
"_id" : "u7M8wibPwxuStNLSM",
"beatmapset_id" : "59049",
"version" : "jom's Taiko Muzukashii",
"artist" : "UNDEAD CORPORATION",
"title" : "Yoru Naku Usagi wa Yume wo Miru",
"creator" : "Strawberry"
}
{
"_id" : "ChRwdj7kbPL7oYgty",
"beatmapset_id" : "59049",
"version" : "jom's Taiko Oni",
"artist" : "UNDEAD CORPORATION",
"title" : "Yoru Naku Usagi wa Yume wo Miru",
"creator" : "Strawberry"
}
如何仅发布唯一文档?像这样:
Meteor.publish("beatmaps", function() {
return Beatmaps.find({ beatmapset_id: 1 }, { unique: true });
});
现在我解决这个有2个收藏。一个包含所有文档,另一个包含使用此代码删除这些文档的文档:
db.beatmaps.ensureIndex({ beatmapset_id: 1 }, { unique: true, dropDups: true });
但它很慢,当我第一次收集更新时,我也需要更新第二次。我相信它可以更加一致地完成。