Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Meteor中获取或创建_Javascript_Node.js_Mongodb_Meteor - Fatal编程技术网

Javascript 在Meteor中获取或创建

Javascript 在Meteor中获取或创建,javascript,node.js,mongodb,meteor,Javascript,Node.js,Mongodb,Meteor,如何在Meteor(类似的)中创建get\u或\u create函数 我必须使用吗 var element = Elements.findOne({number: 32}); if (element) { var elementId = element._id; } else { // override element element = Elements.insert({number: 32}); var elementId = element._id; } // do so

如何在Meteor(类似的)中创建
get\u或\u create
函数

我必须使用吗

var element = Elements.findOne({number: 32});
if (element) {
  var elementId = element._id;
} else {
  // override element
  element = Elements.insert({number: 32});
  var elementId = element._id;
}

// do something with elementId
它似乎不那么方便

我想知道Meteor或MongoDB是否已经内置了类似于
Collection.upsert()

签出MongoDB的东西。下面是实现您所描述内容的示例

collection.findAndModify({
  query: { _id: "someId" },
  update: {
    $setOnInsert: { foo: "bar" }
  },
  new: true,   // return new doc if one is upserted
  upsert: true // insert document if it does not exist
})

也许这正是
upsert:true
所做的,只是它不返回文档?我正要评论这个问题,这是最好的方法。但是Meteor目前不支持它。不过,有一个软件包可以改变行为。Meteor不支持它的原因是什么?