我在一个名为course的模式中有一个名为students的数我创建了一个路由,允许我使用学生的objectid
将学生添加到这个数组中,如下所示:
router.put('/addStudent/:courseID', function (req, res) {
Course.findOneAndUpdate({courseID: req.params.courseID}, {$push: {students: req.body.students}})
.populate('students')
.exec(function (err, course) {
if (err) return res.status(500).send("There was a problem adding this information to the database");
res.status(201).send(course);
})
});
当我尝试用以下JSON体向我的endpoint发出PUT请求时:
{
"students":["5b1f06cafa355c2d187c344f"]
}
谢谢!
您需要在$push中使用$each
Course.findOneAndUpdate(
{ courseID: req.params.courseID },
{ $push: { students: { $each: req.body.students } } }
)
Course.findOneAndUpdate(
{ courseID: req.params.courseID },
{ $addToSet: { students: { $each: req.body.students } } }
)
问题内容: 我需要在此重命名: 我试过了 但返回:。 问题答案: 如文档中所述,无法使用单个命令直接重命名数组中的字段。您唯一的选择是遍历收集文档,阅读它们并使用$ unset old / $ set new操作更新每个文档。
我想在mongo数据库的数组中添加一个元素: 结果很完美: 更新:猫鼬模式:
所以我有一个选择题列表,我想存储,每次用户回答相同的问题,他对这个问题的答案。所以我想创建一个文档每个用户和他的回答历史每个问题。我做了一个问题数组,其中包含了questionId和一个答案数组(“ans”和他的答案。所以我写了一个基本代码,在这里我为问题1添加了他的第一个答案“a”,现在我想用答案“b”更新这个文档。 我知道这是一个非常基本的问题,但我已经搜索了其他问题,但我无法得到语法工作。我
本文向大家介绍如何在MongoDB中将元素推入数组?,包括了如何在MongoDB中将元素推入数组?的使用技巧和注意事项,需要的朋友参考一下 要将元素推入数组,请使用$push。首先让我们创建一个包含文档的集合- 以下是在方法的帮助下显示集合中所有文档的查询- 这将产生以下输出- 这是将元素推入MongoDB中的数组的查询- 以下是在方法的帮助下显示集合中所有文档的查询- 这将产生以下输出-
本文向大家介绍如何在MongoDB中推送数组?,包括了如何在MongoDB中推送数组?的使用技巧和注意事项,需要的朋友参考一下 要推送数组,请在MongoDB中使用$push。首先让我们创建一个包含文档的集合- 在方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是推送数组的查询- 这将产生以下输出-
我有以下mongodb文档结构: 我已经能够使用$elemMatch来更新操作中的字段,但当我尝试对参数执行相同的操作(修改)时,它似乎不起作用。我想知道,为了能够通过pid查找特定参数中的字段,我应该尝试其他什么方法来成功更新字段。 我目前拥有但不起作用的更新代码如下所示: