MongoDB 在子对象中增加一个变量

问题描述

我想增加一个位于 mongodb 数据库子对象中的变量。

这是我的代码:

let collection = mongoose.db("wars").collection("servers")
collection.findOneAndUpdate({"id": message.guild.id},{$inc: {"starship.$.": 1}})

在“starship”对象中还有一些其他字段,所有字段都以整数作为值。
我需要做的是从变量更新字段。

示例:

let example = "test"
let collection = mongoose.db("wars").collection("servers")
collection.findOneAndUpdate({"id": message.guild.id},{$inc: {"starship.$." + example: 1}})

但是“+”会出错,因为我无法从变量访问该字段。
我也试过 starship.$.${example},但没有用。
我该怎么办?

感谢提供帮助的建议,对于英语不好很抱歉!

解决方法

您可以创建一个新对象并将其放入 MongoDB 查询中,例如:

let example = "test";
let newObject={};
newObject["starship.$." + example] = 1;
let collection = mongoose.db("wars").collection("servers");
collection.findOneAndUpdate({"id": message.guild.id},{$inc: newObject});

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...