Node.js Mongodb查询不使用字符串
我正在Nodejs应用程序上使用Node.js Mongodb查询不使用字符串,node.js,mongodb,Node.js,Mongodb,我正在Nodejs应用程序上使用mongodb包。我尝试删除嵌套对象。当我放置一个嵌套对象时,它工作。当我将字符串放入条件时,它不起作用,我不明白为什么。有人能帮我吗 这是行不通的: var tmp = 'records.' + j + '.domains'; records.update({'email': '<removed>'}, {'$pull': {tmp: {'_id': req.params.dn}}}); var tmp='records.+j+'.domains'
mongodb
包。我尝试删除嵌套对象。当我放置一个嵌套对象时,它工作。当我将字符串放入条件时,它不起作用,我不明白为什么。有人能帮我吗
这是行不通的:
var tmp = 'records.' + j + '.domains';
records.update({'email': '<removed>'}, {'$pull': {tmp: {'_id': req.params.dn}}});
var tmp='records.+j+'.domains';
更新({'email':'''},{'pull':{tmp:{''u id':req.params.dn});
这项工作:
records.update({'email': '<removed>'}, {'$pull': {'records.1.domain': {'_id': req.params.dn}}});
records.update({'email':''},{'$pull':{'records.1.domain':{''u id':req.params.dn});
因为不能将变量用作对象文本中的键。而是使用obj[tmp]=nested_obj
动态构造对象,因为不能将变量用作对象文本中的键。而是使用obj[tmp]=nested_obj
动态构造对象。您应该使用以下语法:
var tmp_key = 'records.' + j + '.domains';
var tmp_value = {'_id': req.params.dn};
var query = {};
query[tmp_key] = tmp_value;
records.update({'email': '<removed>'}, {'$pull': query});
var tmp_key='records.+j+'.domains';
var tmp_value={“u id”:req.params.dn};
var query={};
查询[tmp_键]=tmp_值;
update({'email':'''},{'pull':query});
您应该使用以下语法:
var tmp_key = 'records.' + j + '.domains';
var tmp_value = {'_id': req.params.dn};
var query = {};
query[tmp_key] = tmp_value;
records.update({'email': '<removed>'}, {'$pull': query});
var tmp_key='records.+j+'.domains';
var tmp_value={“u id”:req.params.dn};
var query={};
查询[tmp_键]=tmp_值;
update({'email':'''},{'pull':query});