javascript - MongoDB 查询仅适用于复制和粘贴

标签 javascript node.js mongodb

我在使用 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 的地方,第二个查询是我从数据库本身复制/粘贴值的地方。

enter image description here

最佳答案

感谢所有评论的人 - 它确实是一个编码错误。我决定做一个小的效用函数来解决这个问题。不间断空格将转换为常规空格,这已经在 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/

相关文章:

javascript - 在 electron 的 vue-component 中打印 Canvas

javascript - 用两行循环 Angular 柔性布局的最佳方法?

javascript - Dir步行获取各种文件的abs路径数组

node.js - Gradle Moowork Node 插件

node.js - Mongoose promise 错误

javascript - 如何将 HTML 文本框表单输入放入 Express Route 参数

javascript - 如何在回调中访问正确的“this”?

javascript - 对于使用相等运算符的 `false` 和 `true`,对象返回 `false`

javascript - 文件结构首选项

node.js - nodejs + azure 函数应用程序 - 处理数据库连接的最佳实践?