Meteor.update找到了_id而不是this._id

时间:2015-10-26 10:24:27

标签: meteor collections

我试图通过在我找到的列表中拉出第一个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);
}
}

1 个答案:

答案 0 :(得分:0)

您可以使用findOne而不是find - 只返回它找到的第一个文档。然后得到你的身份:

techQOrder._id;

如果由于某种原因你想避免使用findOne,你可以在查询结尾处添加.fetch()然后通过

获取id
techQOrder[0]._id