我在 Nodejs 应用程序上使用 mongodb
包。我尝试删除嵌套对象。当我放置嵌套对象时它起作用。当我将字符串放入条件中时它不起作用,我不明白为什么。有人可以帮助我吗?
这不起作用:
var tmp = 'records.' + j + '.domains';
records.update({'email': '<removed>'}, {'$pull': {tmp: {'_id': req.params.dn}}});
这项工作:
records.update({'email': '<removed>'}, {'$pull': {'records.1.domain': {'_id': req.params.dn}}});
最佳答案
您应该使用以下语法:
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});
关于node.js - Mongodb 查询不适用于字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40698357/