如何在Meteor中只发布独特的文档?

时间:2015-09-06 05:41:15

标签: mongodb meteor

所以我有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 });

但它很慢,当我第一次收集更新时,我也需要更新第二次。我相信它可以更加一致地完成。

0 个答案:

没有答案