需要检查是否存在集合

时间:2014-10-28 20:16:03

标签: meteor

有没有办法检查Meteor中是否已经存在集合?或者在流星服务器代码中执行这个Mongodb函数[db.getCollectionNames()]的方法,这样我就可以在Mongodb中找回所有集合名称的数组并迭代这些集合以找到我需要的那个?

方案: 我想基于表单中的用户输入创建一个集合。例如,如果我问用户他们的生日。我想创建一个名为“1980”的集合。此集合现在将存储1980年出生的所有用户。因此,出生这一年的第一个用户将创建此集合,并且具有相同出生年份的未来用户将添加到此集合中。

由于

2 个答案:

答案 0 :(得分:2)

您可以使用此软件包发现集合:https://github.com/dburles/mongo-collection-instances

Mongo.Collection.getAll()

返回包含以下内容的对象数组:

  • name(集合的名称)
  • instance(集合实例)
  • options(在实例化时传递的任何选项)

答案 1 :(得分:0)

或者,您可以执行此操作仅检查集合是否存在

var Audio = new Mongo.Collection("audio");


if (Meteor.isClient) {

    // return or do something 

}

if (Meteor.isServer) {
    Meteor.startup(function () {
        // code to run on server at startup
        // Simple if statement to check collection
        if (Audio)
            Audio.insert({ item: 'card' , qty: 23 });
    });
}