我试图通过在我找到的列表中拉出第一个obj来查找Id来尝试使用Meteor.update。请参阅下面的代码。如果我们有一个可以提供帮助的帖子,我非常乐意看到另一篇文章。
minusSkip: function(){
var techQOrder = _Techs.find({
queue: true
}, {
sort: {
status: -1,
// weight: -1,
timesincelast: 1}});
techQOrder = techQOrder.fetch()[0]
var techId = techQOrder._id
if (techQOrder.skipRound >= 1) {
_Techs.update({
id: techQOrder._id
},
{
$set: {
timesincelast: new Date()
},
$inc: {
skipRound: -1
}
});
console.log("server", techQOrder._id, techQOrder.skipRound);
}
}
答案 0 :(得分:0)
您可以使用findOne而不是find - 只返回它找到的第一个文档。然后得到你的身份:
techQOrder._id;
如果由于某种原因你想避免使用findOne,你可以在查询结尾处添加.fetch()然后通过
获取idtechQOrder[0]._id