gpt4 book ai didi

javascript - Mongo/Mongoose - markModified 不起作用

转载 作者:行者123 更新时间:2023-12-03 08:46:20 25 4
gpt4 key购买 nike

我有以下查询:

  Section.find({"clause": sub.section}, function(err, docs){
var detail = parseInt(sub.detail);
docs[0].subClauses[0].additionalDetails[detail-1].percentile = sub.percentile;
docs[0].markModified("subClauses");
docs[0].save(function(err, doc){
if(err) { return callback(err) };
callback();
})
})

当我在 .save 函数中记录文档时,它似乎已成功保存。然而,在其他地方查询数据库时,保存尚未发生。它尝试保存的对象的深度为 3,如下所示:

[
{
"clause": "1",
"subClauses:
[
{
"clause":"1.1",
"additionalDetails:
[
{
"detail": "1",
"content": "whatever"
}
]
}
]
}
]

每个数组中有多个项目。

我无法使用 Mongo 将数据保存到嵌套数组对象吗?

最佳答案

如果我明白你想要做什么,那么我认为你想要使用的是 Mongo Position Operator ($)。这用于索引文档中的嵌套数组。在当前代码中,您仅引用数组中的第一个对象。使用位置运算符,您将能够根据其他一些数据(例如查询)引用其他位置。

这里是运算符(operator)的文档:http://docs.mongodb.org/manual/reference/operator/update/positional/

这是另一个 Stack Overflow 回复,可能也有一点帮助: MongoDB $ operator

关于javascript - Mongo/Mongoose - markModified 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872978/

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