mongo db的$ in函数在nodejs中不起作用,除了:(

时间:2019-02-13 09:54:09

标签: node.js mongodb express

我想通过用户提供的号码列表从mongo db中获取所有文档,但是 我在这里面临的问题是... 当我传递硬编码的值时,$ in函数可以正常工作 但是当我通过req.body.userlist时,尽管值相同,但它给了我一个空数组

    routes.post(/contect,function(req,res){ 
    var userList = req.body.userList;
    var contectList = ["3423432","23432423","32342"];
    console.log(userList);  //output ["3423432","23432423","32342"]
     User.find({
     "phoneNumber" : {
     "$in":contectList
    }
     }.then(function(data){
     console.log(data);
    })

任何人帮助这里有什么问题

2 个答案:

答案 0 :(得分:1)

问题解决了,感谢Anthony Winzlet

解决方案很简单,我只需要解析安东尼·温兹莱特(Anthony Winzlet)所说的输入

 `You are passing string through postman. Try to parse it User.find({ 
 "phoneNumber" 
 : { "$in": JSON.parse(userList) }}) – Anthony Winzlet`

答案 1 :(得分:0)

它应该是一个数组,因此请尝试使用传播运算符。 $in

{ phonenumber: { $in: [...conectList] } }