Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从mongodb集合中删除文档_Mongodb - Fatal编程技术网

从mongodb集合中删除文档

从mongodb集合中删除文档,mongodb,Mongodb,我有一个名为customers的集合,其中包含文档。 我已经编写了一个函数,使用字段及其作为参数的值来删除文档。 但它并没有像预期的那样删除任何客户。谁能告诉我哪里出了问题 function (fieldName, value) { db.customers.remove({x : y}); } 我从mongo终端调用了函数,如下所示 db.loadServerScripts(); removeDocument("firstName", "Sam"); 谢谢重写函数,使参数成为查询对象的

我有一个名为customers的集合,其中包含文档。 我已经编写了一个函数,使用字段及其作为参数的值来删除文档。 但它并没有像预期的那样删除任何客户。谁能告诉我哪里出了问题

function (fieldName, value) {
  db.customers.remove({x : y});
}
我从mongo终端调用了函数,如下所示

db.loadServerScripts();
removeDocument("firstName", "Sam");

谢谢

重写函数,使参数成为查询对象的一部分。您可以使用计算属性或括号表示法来完成此操作

使用计算属性:

function removeDocument(fieldName, value) {
    db.customers.remove({[fieldName]: value});
}
使用括号表示法

function removeDocument(fieldName, value) {
    var query = {};
    query[fieldName] = value;
    db.customers.remove(query);
}

这只是插入代码时的一个输入错误,还是
db.customers.remove({x:y})
应该是
db.customers.remove({fieldName:value})这是一个很好的解释。您能告诉我以上两种方法中哪一种更好?这取决于您的MongoDB版本是否支持计算属性(MongoDB 3.2及以上版本支持ES6),没有更好的方法,因为它们做的事情完全相同。