Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Node.js Mongodb findandmodify()无法读取属性';结果';未定义的_Node.js_Mongodb - Fatal编程技术网

Node.js Mongodb findandmodify()无法读取属性';结果';未定义的

Node.js Mongodb findandmodify()无法读取属性';结果';未定义的,node.js,mongodb,Node.js,Mongodb,我对nodejs+mongodb findandmodify()函数有问题,上周下面的代码运行正常,但现在突然抛出错误: db.collection(collectionName).findAndModify(query || {}, [], {$set: object}, {upset: true}, callback || function () { }); 如果查询未定义,则代码运行正常,但查询参数例如:“\u id”:“idofcollection”或“template”:“

我对nodejs+mongodb findandmodify()函数有问题,上周下面的代码运行正常,但现在突然抛出错误:

db.collection(collectionName).findAndModify(query || {}, [], {$set: object},
     {upset: true}, callback || function () {
});
如果查询未定义,则代码运行正常,但查询参数例如:“\u id”:“idofcollection”或“template”:“templatename”将引发异常:

E:\Working\Projects\iERP\trunk\client\source\node_modules\mongodb\lib\db.js:309
handleCallback(callback, null, result.result);
                                     ^TypeError: Cannot read property 'result' of undefined
at E:\Working\Projects\iERP\trunk\client\source\node_modules\mongodb\lib\db.js:309:42
at E:\Working\Projects\iERP\trunk\client\source\node_modules\mongodb-core\lib\connection\pool.js:436:18
at doNTCallback0 (node.js:419:9)
at process._tickCallback (node.js:348:13)

请给我解释一下解决这个问题的方法?

我将使用
$或

    db.collection(collectionName).findAndModify({ $or: [ query,  { example: 10 } ] },  {$set: object}, function (){
    });
两件事:

  • 我不确定您的代码中有什么
    回调
    。通常是回调
  • query
    应该是这样的
    {price:5}
  • 以下是
    $或
    的一些文档:


    希望这有帮助

    谢谢,但回调函数是抽象函数,查询就像您编写的一样,我已经更改了sugguest的代码,但不太好。添加信息:其他集合调用函数findandmodify都正常,只是此集合抛出错误:(