Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor.update已找到\u id而不是此。\u id_Meteor_Collections - Fatal编程技术网

Meteor.update已找到\u id而不是此。\u id

Meteor.update已找到\u id而不是此。\u id,meteor,collections,Meteor,Collections,我试图使用Meteor.update,通过在我找到的列表中拖动第一个obj来查找Id。请参阅下面的代码。我非常高兴看到另一个帖子,如果我们有一个可以帮助的话 minusSkip: function(){ var techQOrder = _Techs.find({ queue: true }, { sort: { status: -1, // weight: -1, timesincelast: 1}});

我试图使用Meteor.update,通过在我找到的列表中拖动第一个obj来查找Id。请参阅下面的代码。我非常高兴看到另一个帖子,如果我们有一个可以帮助的话

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);
}
}

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

techQOrder._id;
如果出于某种原因希望避免findOne,可以在查询末尾添加.fetch(),然后通过

techQOrder[0]._id 

我不认为我可以使用findOne,因为我想对集合进行排序,然后从集合中提取第一个obj并编辑它。主要目的是使跳跃机制。这是一个轮换队列的一部分,我想保持订单的完整性,但当他们在队列的顶端时,它会自动跳过这个人。这是检查它们的代码,它们在队列中移动。在这种情况下,findOne仍然有效-您的收藏仍在排序,但您只访问第一个文档。据我所知,这正是您试图实现的目标