我有一个存储在Mongo中的字段存储为字符串,但大部分时间它都包含一个数字,但如果该数字不存在则包含N / A'例如字符串。我正在使用PyMongo并寻找一种执行小于和大于查询的有效方法,但显然我不想将其作为字符串进行比较。
这就是我所拥有的:
awk
所以我想选择{"field": '5.6'}
{"field": 'N/A'}
results = mongo.db.validated.find({"field": "$gt": float(minimum)}, "field": {"$lt": float(maximum)}})
和minimum
之间的值,但忽略maximum
。
答案 0 :(得分:1)
您可以添加type检查以进行查询,如下所示:
results = mongo.db.validated.find({"field": {"$type": 1, "$gt": float(minimum),"$lt": float(maximum)}})
$ type:1 将返回双数据类型。