我正在尝试编写一个mongo查询来更新集合。
在SQL中它看起来像这样:
UPDATE myCollection SET count=(count-1)
WHERE otherCollectionId=otherCollection._id
AND otherCollectionUserId='HFDDEE78DFDSER34'
AND count > 0
我尝试了一些东西,但这个绝对不行。我收到了错误:
MongoError: Invalid modifier specified $gt
到目前为止我的mongo查询:
myCollection.update({otherCollectionId: otherCollection._id,
otherCollectionUserId: Meteor.userId()
},
{$gt: {count: 0},
$inc: {count: -1}
});
有什么想法吗?
答案 0 :(得分:1)
我认为这可能是你想要的:
myCollection.update(
{
otherCollectionId: otherCollection._id,
otherCollectionUserId: Meteor.userId(),
count: {$gt: 0}
},
{$inc: {count: -1}},
{multi: true}
);
选择器的所有三个部分都是AND,然后我们将count
增加-1,最后查询将运行多个文档(而不仅仅是匹配选择器的第一个文档)。