Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
Javascript 将多个参数传递到MongoDB查询方法_Javascript_Mongodb_Mongoose_Mongodb Query - Fatal编程技术网

Javascript 将多个参数传递到MongoDB查询方法

Javascript 将多个参数传递到MongoDB查询方法,javascript,mongodb,mongoose,mongodb-query,Javascript,Mongodb,Mongoose,Mongodb Query,如何在mongodb中传递多个参数 我当前的设置如下: const query = (...query) => { let newQuery = query // this is an array Model.findByIdAndUpdate(newQuery) // nothing happen coz the value is array } query(id, {name:'json bourne'}) 我想传递查询中的所有参数。谢谢 最初的查询是这样的 Model

如何在mongodb中传递多个参数

我当前的设置如下:

const query = (...query) => {

let newQuery = query // this is an array
    Model.findByIdAndUpdate(newQuery) // nothing happen coz the value is array 
}

query(id, {name:'json bourne'})
我想传递查询中的所有参数。谢谢

最初的查询是这样的 Model.findByIdAndUpdateid,{name:'jason bourne'}

就是像这样传递参数

让newQuery= id,{name:'jasonbourne'}//这将不起作用,因为它将获取第一个项,即id


Model.findByIdAndUpdatenewQuery

您可以破坏数组以获得所需的内容

常量查询=…查询=>{ 让[id,update,options={}]=query//这是一个数组 Model.findByIdAndUpdateid,update,options//由于值是数组,所以不会发生任何事情
} Model.findByIdAndUpdate至少需要2个参数。首先是查找要更新的文档所需的id本身。第二个参数是options,它是一个对象,包含要在该文档中更新的字段的密钥对值。这里的键将是需要更新的字段,其值将是您希望该字段具有的值。您可以拥有任意多个密钥对,只要它们是逗号分隔的。

您可以分散数组:

 Model.findByIdAndUpdate(...newQuery)

为什么不只是{id,name:'json bourne'}?这不能作为id使用,而且name是一个单独的对象。看你的问题不是自解释的,请更好地解释它,以便我们可以帮助你。这是原始的查询模型。findByIdAndUpdateid,{name:'jason bourne'}所以告诉我你到底想用它做什么谢谢。如果你知道你通过了多少次,这将起作用。如果不是只有两个或三个参数,那么Model.findByIdAndUpdate需要三个参数,并且必须传递至少两个参数。这就是为什么在我的代码中,我将第三个参数回退为默认值{}。到目前为止,我所做的是