【发布时间】:2018-02-07 17:41:16
【问题描述】:
{
"_id": "W4ZZxraDXGj3FtJek",
"name": "Rust",
"description": "new programming language by google",
"organization": "rYefzmKDCoqKJQmeA",
"status": "active",
"dateAdded": "2018-02-07T13:51:31.564Z",
"members": [
{
"id": "6BuSTu6GZybkmozWW",
"role": "manager",
"hours": "",
"dateAdded": "2018-02-07T15:13:30.654Z",
"reports": [
{
"date": "2018-02-06T12:39:32.118Z",
"hours": "19123"
},
{
"date": "2018-02-05T12:39:32.118Z",
"hours": "19123"
}
]
},
{
"id": "aFJlejSTu6erawlkjeru",
"role": "manager",
"hours": "",
"dateAdded": "2018-02-07T15:13:30.654Z",
"reports": [
{
"date": "2018-02-06T12:39:32.118Z",
"hours": "19123"
}
}
]
}
]
}
我有一个这样的收藏。我想做的是按 ID 搜索项目,搜索单个成员并根据日期属性查找特定报告。如果找到,我想更新时间。如果不是,我想创建一个新的报表对象。
我正在创建一个测试应用程序来学习流星。目前是流星和 NoSQL (mongoDB) 的新手
Projects.update({
_id: projId,
"members.id": memberId
}, {
$set: { "members.$.hours": hours }
});
到目前为止,我所做的是更新“小时”字段,但我添加了一个具有嵌套对象的新“报告”字段。
【问题讨论】: