我需要使用变量来使用字段名称。我该怎么做?
let variableName = 'cars';
Collection.update(
{ _id: id },
{
$addToSet: {
variableName: {
foo: bar
}
}
}
);
在这个例子中,应该有效地完成:
Collection.update(
{ _id: id },
{
$addToSet: {
cars: {
foo: bar
}
}
}
);
但我需要以编程方式执行此操作。
与此相似:
var fieldName = 'user';
Collection.find({ _id: id, fieldName + '.language': lang });
这样做的正确方法是什么?
答案 0 :(得分:2)
只需将代码更新为
即可let variableName = 'cars';
Collection.update(
{ _id: id },
{
$addToSet: {
[variableName]: {
foo: bar
}
}
}
);
它将创建动态密钥名称。