【发布时间】:2019-09-30 08:18:07
【问题描述】:
我知道问题是重复的,但我不知道为什么我被卡住了
问题:
如何使用_id 和requirement.update._id 的查找(如果需要requirement._id)编辑"requirement.$.update" 数组文档
// edit version number level2
exports.editVersionNumberPost = function(req, res){
var query = {
date: req.body.date,
number: req.body.number,
description: req.body.description
}
Project.findOneAndUpdate({ name: req.params.name,
"requirement._id" : req.params.versionID,
"requirement.update._id" : req.params.versionNumID},
{"$set":
{"requirement.$.update" : query
}
}, { new: true },
function(err, obj){})
};
我的架构
----------------
namr: String
requirement:[{
version: Number,
update:[{
date: Date,
number: Number,
description: String
}]
}],
--------
【问题讨论】:
-
很好解释here
-
@AnthonyWinzlet 仍然找不到解决方案,您有时间检查一下吗?
-
您面临什么问题?请用一些解释来更新您的问题,以及什么不适合您。
-
已更新,请立即查看@AnthonyWinzlet
-
嗯。还有一个人指出了一个现有的答案(第一条评论中的链接),他没有阅读第一块代码。如果您真的阅读它,那么“第一个块”实际上带有使用硬索引值而不是如何做到这一点的解释。除了 MongoDB 3.6 可用的解决方案之外,另一个响亮的信息是 嵌套数组是一个非常糟糕的主意。我建议实际阅读内容,而不仅仅是寻找“货物崇拜”的代码。你可能会学到一些有用的东西。也请不要在回答其他问题时用“请帮助”评论。
标签: javascript node.js mongodb express mongoose