我正在尝试更新我的 mongodb 集合“用户”中的某个字段
文档示例:
{
_id: ObjectId("536d4d3307221f847fbbea49"),
groups: [
{
match_id: "dc3acf1b",
groupName: "World Cup, Group A",
score:[0,1]
},
{
match_id: "d4f14940",
groupName: "World Cup, Group A",
score:[2,1]
}],
name:"Foo Bar",
points:10
}
我正在尝试仅更新具有特定分数的分数字段..
这是我想要的(位置运算符):
db.users.update({'groups.match_id':i_match , 'groups.score':i_score},
{$inc:{points:1}});
现在我想这会寻找同时拥有这两个字段的用户,但我想查看具有查询第一部分的相同组对象。
如:
db.users.update({'groups.match_id':d4f14940 , 'groups.score':[2,1]},
{$inc:{points:1}});
应该给用户+1分
但:
db.users.update({'groups.match_id':dc3acf1b , 'groups.score':[2,1]},
{$inc:{points:1}});
不应该
你明白我的意思:)
现在我从位置运算符那里知道我应该使用“$”符号,但我认为只能在 update() 的第二个参数中使用 - 更新部分..而不是查找部分
注意- 以这种方式(数组)实际比较分数可能不起作用..但这不是这里的问题