MongoError $ in需要一个数组

时间:2018-02-23 15:58:50

标签: node.js mongodb

我正在尝试从数组中获取数据,并希望将其传递给$ in运算符中的查询查询。 但它给出了一个错误说

  

$ in需要一个数组

echo '<input type="hidden" name="id" value="'.$row['id'].'">';

这是console.log(fileIds)的输出

  

{&#39; 0&#39;:5a8f24ab281bd22cd940530b,&#39; 1&#39;:5a8f24ab281bd22cd940530c}

在标记复制之前我已经看过这篇文章了。

How to return the ObjectId or _id of an document in MongoDB? and error "$in needs an array"

但这些都没有帮助。所以,如果有人知道答案,请帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

  

请这样做

     

这里我使用了节点版本6.9支持的Object.values   或者你可以用另一种方法创建数组

  const fileIds = _.get(result, 'files', []);

    db.collection('files').find({_id: {$in: Object.values(fileIds)}}).toArray((err, files) => 

    {
        // some statements....
    }