Mongo的Invalid BSON field name $gte
简介:
Mongo的Invalid BSON field name $gte
常见做法:替换掉$符号,用$来绕过验证,使用的时候再换回来。这样做确实有效,但是在多系统公用一个数据库的情况下,让所有模块都取出来的时候替换回去无疑是一个很麻烦的做法。
查询过程中,突然发现mongo在3.6版本之前都是不能插入$等特殊字符的,心中一凉,但是我用的是高版本的,而且有成功的例子,这个应该不是主要原因。
后来又查到另一个人的解决方法是重写了driver的部分代码,替换了那部分校验逻辑。但是这无疑是一个比较麻烦的操作,而且难保不出现什么问题。