Meteor.update已找到\u id而不是此。\u id
我试图使用Meteor.update,通过在我找到的列表中拖动第一个obj来查找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}});
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仍然有效-您的收藏仍在排序,但您只访问第一个文档。据我所知,这正是您试图实现的目标