Javascript 使用动态键推送到mongodb阵列
我试图通过动态键推送数据 数据库结构:Javascript 使用动态键推送到mongodb阵列,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我试图通过动态键推送数据 数据库结构: { "obj1":{ "array":[ { "field1":"text1" }, { "field2":"text2" } ] }, "id":123; }, { "obj2":{ "array":[ { "field1":"text1" },
{
"obj1":{
"array":[
{
"field1":"text1"
},
{
"field2":"text2"
}
]
},
"id":123;
},
{
"obj2":{
"array":[
{
"field1":"text1"
},
{
"field2":"text2"
}
]
},
"id":1234;
}
我正在尝试使用变量作为映射路径中的键:
var a = 'obj2';
db.collection('fooCollection').update({'id':1234},{$push:{a.array:{ "field3":"text3"}}});
如果我这样做:
db.collection('fooCollection').update({'id':1234},{$push:{"obj2.array":{ "field3":"text3"}}});
它可以工作,但我急需使用动态键。这不能用对象文本来完成。试试这个:
var a = 'obj2';
var pushObj = {};
pushObj[a + '.array'] = { "field3": "text3" };
db.collection('fooCollection').update({ 'id':1234 }, { $push: pushObj });
你能整理一下你的例子吗?您的“工作”查询根本不是有效的查询(我猜是缺少了一些
“
和一个:
,但我不确定).fixed,made in haste,sorry您需要以编程方式生成键;我认为您无法从文本中的字符串串联创建键。奇怪的是,我在5小时前尝试过创建键,然后决定在收到消息后重新检查。它可以正常工作-_-