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

时间:2019-05-09 14:33:58

标签: node.js mongodb

我知道我不应该寻求帮助,但是这个问题看起来很奇怪,我希望这可以为遇到类似问题的人节省时间。 我真的为此感到疯狂,因为在我看来,这个例子是如此清晰,但是...

比方说以下代码的控制台输出:

        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 但是我的笔记本电脑上的收藏不一样(例如,它包含的文档较少,并且只有一个字段),但是从概念上讲,我在做同一件事。

0 个答案:

没有答案