【发布时间】:2015-02-11 17:18:01
【问题描述】:
我是 MongoDB 新手,我有一个 组织 的 MongoDB 集合。还有classes (object)的数组。我目前正在使用 Node.js 和 Mongoose 来更新课堂内教师的count。当前收藏如下。
//organization
{
"_id" : ObjectId("54db07ab12545794bf7c2d1b"),
"name" : “Stackoverflow”,
"classes" : [
{
"name" : “Stack 01”,
"_id" : ObjectId("54db07ab12545794bf7c2d1f"),
"teachers" : [
{
"idUser" : "54d1e8fe14a880bea6288eb6",
"locked" : false,
"count" : 0,
},
{
"idUser" : "54d321cb190c919759b8a8bb",
"locked" : false,
"count" : 0,
},
{
"idUser" : "54d32147ceaa3a665958b096",
"locked" : true,
"count" : 0,
}
]
},
{
"name" : “Stack 02“,
"_id" : ObjectId("54db07ab12545794bf7c2d1c"),
"teachers" : [
{
"idUser" : "54d1e8fe14a880bea6288eb6",
"locked" : false,
"count" : 0,
},
{
"idUser" : "54d32147ceaa3a665958b096",
"locked" : true,
"count" : 0,
}
]
}
]
}
每当我通过 Mongoose 更新组织时,我想增加教师的数量。我是这样写的。
Organization.findOneAndUpdate(
{_id: "54db07ab12545794bf7c2d1b",
"classes._id": "54db07ab12545794bf7c2d1f"},
{
$inc: {"classes.$.teacher.$.count": 1}
},function(err, org){});
请帮助我如何查询和增加老师的数量。
【问题讨论】:
-
我认为它会为单个子集合更新
-
例如,我只想在更新后增加
54d1e8fe14a880bea6288eb6的教师ID的计数。