使用nodejs mongodb中存储为Int64的字段进行查询

时间:2018-04-03 05:02:47

标签: node.js mongodb int64

我有一个集合,其中userID字段存储为Int64。当我在此集合上使用.find({})时,userID字段将作为字符串返回。但是,当我尝试使用.findOne({ userID: req.query.userID }在集合中找到一个特定项时,我总是得不到任何结果。我可以确认传入查询的值是否存在于集合中(但它作为字符串传递)。

我知道javascript无法处理Int64,但如果该字段以字符串形式返回,是否有任何方法可以使用字符串进行查询?或者我别无选择,只能修改字段,以便将其作为字符串存储开始?

1 个答案:

答案 0 :(得分:0)

执行findOne()时,请长时间使用包装器,如下所示:

.findOne({userID:NumberLong(req.query.userID)})