我正在尝试将非常大的数据 block 解析到新的 MongoDB 数据库中,当我运行该作业时,我在执行 db.myCollection.find()
时不断收到错误。
错误为错误:检测到非 ascii 字符
。
我正在使用 Node.js 和 Mongoose 来填充数据库。我见过的唯一可能导致问题的字符是 '
、、
和 -
,但我已经对所有这些字符进行了 .replace。我尝试转义它们(\
),并尝试完全删除它们,但似乎没有任何效果。
我最大的问题是,当我保存对象时,我没有收到任何错误,我只是在尝试查看集合时收到该消息。
有没有关于清理 MongoDB 输入的信息?
最佳答案
如果它是字符串数据,那么在插入之前可以确保它被编码为 UTF8。大多数驱动程序应该检查这一点,但它可能在 Mongoose 驱动程序中被忽略。 MongoDB 中的所有字符串都存储为 UTF8,如 BSON 规范所定义。
关于Node.js 上的 MongoDB 'error: non ascii character detected',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714990/