gpt4 book ai didi

javascript - MongoDB $拉不工作

转载 作者:行者123 更新时间:2023-11-30 16:58:24 25 4
gpt4 key购买 nike

我正在构建一个 Meteor 应用程序并且我有竞赛/参赛作品集。当有人参加比赛时,他们的 user_id 被插入带有 $addToSet 的 Contest.entered_users 数组。这是代码:

entryInsert: function(entryAttributes) {
check(Meteor.userId(), String);
check(entryAttributes, {
contest_id: String
});

var user = Meteor.user();
var entry = _.extend(entryAttributes, {
user_id: user._id,
user_name: user.profile.name,
submitted: new Date(),
submitted_day: moment().format('MMM D')
});

var currentContest = Contests.findOne(entryAttributes.contest_id);

// Check to make sure that the person has not already entered the giveaway
if (currentContest.entered_users.indexOf(entry.user_id) !== -1) {
throw new Meteor.Error('invalid', "You have already entered the giveaway");
} else {
Contests.update(
currentContest._id,
{
$addToSet: {entered_users: entry.user_id},
$inc: {entries: 1}}
);
}


// Create entry in order to get the entry id
var entryId = Entries.insert(entry, function(err) {
if (err) {
alert(err.reason);
}
});



return {
_id: entryId
}
}

我想在删除条目时从 Contest.entered_users 数组中删除一个人的 user_id。我正在尝试使用 $pull 但它似乎没有工作......当我删除条目时, entry.user_id 仍在 contest.entered_users 数组中。相关代码如下:

'click .entry-delete': function(e, tmpl) {
e.preventDefault();

var currentEntry = this;
var currentEntryId = this._id;

var contestId = Contests.findOne(currentEntry.contest_id);

// Update the contest by removing the entry's useer_id from entered_users
Meteor.call('contestRemoveEntry', contestId, currentEntry, function(error) {
if (error) {
alert(error.reason);
}
});

Meteor.call('entryRemove', currentEntryId, function(error) {
if(error) {
alert(error.reason);
}
});
}

这是 contestRemoveEntry 方法:

contestRemoveEntry: function(contestId, currentEntry) {
Contests.update({ _id: contestId }, { $pull: { entered_users: currentEntry.user_id } } );
}

关于为什么这不起作用的任何想法?我尝试过其他 SO 解决方案,但似乎没有任何效果。

最佳答案

看起来这是使 $pull 工作的正确方法:

Contests.update(contestId, { $pull: { entered_users: currentEntry.user_id } } );

关于javascript - MongoDB $拉不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29284516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com