我在使用 MongoDB 时遇到一个特殊问题,当我尝试对数据库进行查询时,例如 db.departments.find({"key": "MEL 301"
}),没有找到结果。
我目前正在使用 mLab 来托管我的 MongoDB 数据库,因此有一种方法可以直观地查看集合中的文档。当我找到具有关键字 MEL 301
的文档,并将 MEL 301
复制并粘贴到上面查询中的相应位置时,查询成功并找到该文档.澄清一下,只有当我将键值从数据库复制/粘贴到查询中而不是键入它时,查询才有效。
您可以使用此 shell 命令(用户名是 stack
,密码是 overflow
)测试数据库:mongo ds015335.mlab.com:15335/utcourses -u 堆栈 -p 溢出
在测试了一些关键值之后,而不仅仅是 MEL 301
,您可能会发现类似这样的东西——第一个查询是我输入 MEL 301
的地方,第二个查询是我从数据库本身复制/粘贴值的地方。
最佳答案
感谢所有评论的人 - 它确实是一个编码错误。我决定做一个小的效用函数来解决这个问题。不间断空格将转换为常规空格,这已经在 MongoDB 和 mLab 上进行了测试和工作。
exports.fixSpace = function(string) {
var fixed = '';
for (var i = 0; i < string.length; i++) {
string.charCodeAt(i) === 160 ? fixed += ' ' : fixed += string[i];
}
return fixed;
}
关于javascript - MongoDB 查询仅适用于复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38212975/