Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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提供字段值不等于查询对象值的结果_Node.js_Mongodb - Fatal编程技术网

Node.js MongoDB提供字段值不等于查询对象值的结果

Node.js MongoDB提供字段值不等于查询对象值的结果,node.js,mongodb,Node.js,Mongodb,我知道我不应该寻求帮助,但这个问题似乎很奇怪,我希望这能为遇到类似问题的人节省时间。 我真的很疯狂,因为在我看来,这方面的例子非常清楚,但是 假设控制台输出了以下代码: dbo.collection(collectionname).find({}).toArray( function(err, result ) { if(err) throw err; console.log(JSON.str

我知道我不应该寻求帮助,但这个问题似乎很奇怪,我希望这能为遇到类似问题的人节省时间。 我真的很疯狂,因为在我看来,这方面的例子非常清楚,但是

假设控制台输出了以下代码:

        dbo.collection(collectionname).find({}).toArray( function(err, result )
            {
                if(err) throw err;
                console.log(JSON.stringify(result));
            }
        );
详情如下:

[{"_id":"5cd42e7cd8561b219e28ff23","person_id":4,"in_out":1,"blob_lifespan":22,"date_time":"2019-05-09-15-43-24-142"},
{"_id":"5cd42e7cd8561b219e28ff25","person_id":6,"in_out":1,"blob_lifespan":29,"date_time":"2019-05-09-15-43-24-461"},
{"_id":"5cd42e7cd8561b219e28ff27","person_id":9,"in_out":1,"blob_lifespan":19,"date_time":"2019-05-09-15-43-24-542"},
{"_id":"5cd42e7fd8561b219e28ff29","person_id":15,"in_out":1,"blob_lifespan":19,"date_time":"2019-05-09-15-43-27-381"},
{"_id":"5cd42e7fd8561b219e28ff2b","person_id":12,"in_out":1,"blob_lifespan":31,"date_time":"2019-05-09-15-43-27-461"},
{"_id":"5cd42e83d8561b219e28ff2d","person_id":28,"in_out":-1,"blob_lifespan":52,"date_time":"2019-05-09-15-43-31-860"},
{"_id":"5cd42e86d8561b219e28ff2f","person_id":40,"in_out":-1,"blob_lifespan":52,"date_time":"2019-05-09-15-43-34-979"}]
为什么我会这样做:

var findobj = { "in_out": 1 };
        dbo.collection(collectionname).find(findobj).toArray( function(err, result )
            {
                if(err) throw err;
                res.json(result);
                console.log(result);
            }
        );
我仍然在数组中得到in_out字段等于-1的对象

编辑: 我在出现问题的机器上使用的mongod版本是3.6 在我的笔记本电脑上,这个问题并不代表思考,mongod的版本是4.0.9
但是,我笔记本电脑上的集合不一样(例如,它包含的文档较少,只有一个字段),但从概念上讲,我正在做相同的事情。

你能试试
{“in_out”:{$eq:1}
相同的结果吗?我会检查,但如果我没记错,它会给我相同的结果。它还通过在集合的每个文档中将该字段的类型更改为string,然后使用{“in_out”:“1”}进行查询,给了我相同的结果。您能试试
{“in_out”:{$eq:1}}
相同的结果吗?我会检查,但如果我没记错的话,它给了我相同的结果。它还通过在集合的每个文档中将该字段的类型更改为string,然后使用{“in_out”:“1}进行查询,得到了相同的结果