1
我目前正在構建我的第一個Meteor應用程序,並且在將文檔插入集合客戶端方面遇到了一些麻煩。流星客戶端upsert不允許
我正在尋找更新文檔,如果它已經在集合中,並插入一個,如果沒有。目前我的代碼看起來像這樣
UserData.upsert(
{
// Selector
_id: Meteor.users.findOne({})._id
},
{
// Modifier
$set: {
user: Meteor.users.findOne({}),
currentquestions: currentQuestion
}
}
);
然後由
UserData.allow({
insert: function (userId) {
// the user must be logged in, and the document must be owned by the user
return (userId != null);
},
update: function (userId) {
// the user must be logged in, and the document must be owned by the user
return (userId != null);
},
upsert: function (userId) {
// the user must be logged in, and the document must be owned by the user
return (userId != null);
}
})
這適用於插入和更新允許的。但對於UPSERT我得到以下錯誤
Error: allow: Invalid key: upsert
Ofcourse我可以使用的if/else與插入/更新,但似乎有點多餘,當.upsert應該做確切的伎倆。 有誰知道如何允許.upsert客戶端?
這是否有幫助:http://stackoverflow.com/questions/21178078/meteor-allow-upsert – colllin
爲什麼不只是使用'Meteor.userId()'? 'findOne'可以抓住一個隨機的用戶。 –