gpt4 book ai didi

javascript - 更新 mongodb 文档中另一个数组内的嵌套数组字段

转载 作者:行者123 更新时间:2023-12-03 01:35:28 25 4
gpt4 key购买 nike

我只是想知道如何更新 mongo db 文档中的嵌套数组字段。

这是我的架构的样子:

const userSchema = new Schema({
email: {type: String, unique: true, lowercase: true},
password: String,
firstName: String,
lastName : String,
role: String,
children: Array
});

文档如下所示:

{
"_id" : ObjectId("5b3570f3150a0b57a4e7421e"),
"children" : [
{
"fullName" : "John doe",
"yearGroup" : "4",
"absences" : [],
"id" : "765"
}
],
"email" : "jdoe@gmail.com",
"firstName" : "John",
"lastName" : "Doe",
"role" : "parent",
"__v" : 1

}

我想将一个新对象插入“缺席”数组中。

最佳答案

要执行此操作,您必须通过 update 操作使用 mongodb $push 运算符,我猜这就是您想要做的,但您没有指定您的匹配查询。要推送到缺席,请执行此操作(我假设匹配查询是children.fullName)

db.ops.update( { "children.fullName": "John doe" } , { $push: { "children.$.absences": "data to push" } } );

$ 占位符告诉 mongodb 将其自身(即 $ )替换为匹配的数组索引。

如果您想防止 absences 字段中出现重复元素,则必须使用 $addToSet 运算符

db.ops.update( { "children.fullName": "John doe" } , { $addToSet: { "children.$.absences": "data to push" } } );

关于javascript - 更新 mongodb 文档中另一个数组内的嵌套数组字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51092803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com