gpt4 book ai didi

javascript - 使用动态字段名称更新数据

转载 作者:行者123 更新时间:2023-11-30 20:57:50 25 4
gpt4 key购买 nike

我只是尝试用 Mongo 做一些简单的事情,但它不起作用:

我想在对象中插入数据,例如:module.xxx.yyy 然后我尝试了很多事情,例如:

UsersRights.upsert({
condoId: condoId,
userId: manager._id,
}, {
condoId: condoId,
userId: manager._id,
module: {
[defaultRight.xxx] : {
[defaultRight.yyy] : defaultRight.default
}
}
});

但是当我想添加一个新的 xxx 或一个新的 yyy 时,它会删除​​并替换整个 module 对象,而不仅仅是添加新 key 。

我也试过这个:

UsersRights.upsert({
condoId: condoId,
userId: manager._id,
}, {
condoId: condoId,
userId: manager._id,
["module." + defaultRight.module + "." + defaultRight.right] : defaultRight.default,
});

但服务器显示如下错误:MinimongoError: Key module.xxx.yyy must not contain '.'

最佳答案

您需要使用以下表格:

YourCollection.upsert({
_id: id, (can be other selectors as well)
}, {
$set: setter
});

Setter 是您之前创建的对象,应该具有以下形式:

const setter = {};
setter[`${#1Level}.${#2Level}`] = data;

#1Level#2Level 是命名您要修改或添加的字段的变量。

关于javascript - 使用动态字段名称更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47469362/

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