[英]Get or create in Meteor
How can I make a get_or_create
function in Meteor (something like https://docs.djangoproject.com/en/1.8/ref/models/querysets/#get-or-create )? 如何在Meteor中创建
get_or_create
函数(类似于https://docs.djangoproject.com/en/1.8/ref/models/querysets/#get-or-create )?
Do I have to use 我必须使用吗?
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
It seems not so handy. 这似乎不那么方便。
I wondered if Meteor or MongoDB has something already built-in just like Collection.upsert()
. 我想知道Meteor或MongoDB是否已经内置了像
Collection.upsert()
这样的东西。
Checkout MongoDB findAndModify
. Checkout MongoDB
findAndModify
。 Below is an example to achieve what you are describing. 下面是一个实现您所描述内容的示例。
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
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.