我有一个集合,其中userID
字段存储为Int64。当我在此集合上使用.find({})
时,userID
字段将作为字符串返回。但是,当我尝试使用.findOne({ userID: req.query.userID }
在集合中找到一个特定项时,我总是得不到任何结果。我可以确认传入查询的值是否存在于集合中(但它作为字符串传递)。
我知道javascript无法处理Int64,但如果该字段以字符串形式返回,是否有任何方法可以使用字符串进行查询?或者我别无选择,只能修改字段,以便将其作为字符串存储开始?
答案 0 :(得分:0)
执行findOne()
时,请长时间使用包装器,如下所示:
.findOne({userID:NumberLong(req.query.userID)})