使用find()在mongoDB中搜索唯一_id作为String的列表

时间:2014-02-04 13:11:06

标签: java mongodb

我想找到一个具有唯一_id的不同值的列表,但问题是它们被保存为String,如果我尝试搜索f.e 10它也找到100,101,102等。 在我的情况{ "_id" : { "$gte" : "10" , "$lte" : "15"}}我想找到10,11,12,13,14,15。但它也发现我也有100,110,120等。

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

您还有两个选择:

  • 发出$regex个查询:{_id : /^1[0-5]/}(不确定PCRE语法)
  • 添加一个新字段,其值等于_id的数字,并查询该新字段

答案 1 :(得分:-1)

您可以使用javascript表达式

来完成
db.test.find("this._id > 10 && this._id < 15")

请注意,这会慢一点