如何使用java在mongodb中使用like查询获取所有记录
我想获取employeeId以123开头的所有记录如何使用java在mongodb中使用like查询获取所有记录,java,mongodb,Java,Mongodb,我想获取employeeId以123开头的所有记录 Sample Records in MongoDB: ============================ {name:"XYZ",employeeID : 123456} {name:"ABC",employeeID : 123789} {name:"DEF",employeeID : 214356} 查询之后,它应该只检索前两条记录 有人能帮我解决这个问题吗。试试这个 这样写查询 db.getCollection('employee'
Sample Records in MongoDB:
============================
{name:"XYZ",employeeID : 123456}
{name:"ABC",employeeID : 123789}
{name:"DEF",employeeID : 214356}
查询之后,它应该只检索前两条记录
有人能帮我解决这个问题吗。试试这个
这样写查询
db.getCollection('employee').find({$where:“/^123.*/.test(this.employeeID)”)
结果:
/* 1 */
{
"_id" : ObjectId("57d15ab13f239d775c5cc667"),
"name" : "XYZ",
"employeeID" : 123456
}
/* 2 */
{
"_id" : ObjectId("57d15ab13f239d775c5cc668"),
"name" : "ABC",
"employeeID" : 123789
}
试试这个
这样写查询
db.getCollection('employee').find({$where:“/^123.*/.test(this.employeeID)”)
结果:
/* 1 */
{
"_id" : ObjectId("57d15ab13f239d775c5cc667"),
"name" : "XYZ",
"employeeID" : 123456
}
/* 2 */
{
"_id" : ObjectId("57d15ab13f239d775c5cc668"),
"name" : "ABC",
"employeeID" : 123789
}
试试这个:
db.getCollection('test')。查找({employeeID:{$regex:/^123.*$/}})尝试以下操作:
db.getCollection('test').find({employeeID:{$regex:/^123.*$/}})employeeID字段是一个数字
/^123/
基本上,^表示字符串的开头,后跟123。这意味着它将抓取任何以123employeeId开头的字段,基本上是一个数字,^表示字符串的开头,后跟123。这意味着它将获取以123I开头的任何内容,如果employeeID是字符串db.col.find({employeeID:/123/}),我可以使用下面的查询。但是,如果employeeID是一个与BasicDBObject类似的NumberIsBasicQuery,我怎么能使用相同的查询呢?嗨,Satish,它只使用字符串,而不是作为EmployeeIdops使用数字,是的,我忘了regex在mongo db中也使用字符串。不用担心,这里还有另一个选项,请尝试这个{$where:“/^123./.test(this.employeeID)”。我刚测试过,这对我来说很有效。这里的测试是什么?如果employeeID是一个字符串db.col.find({employeeID:/123/}),我可以使用下面的查询。但是,如果employeeID是一个与BasicDBObject类似的NumberIsBasicQuery,我怎么能使用相同的查询呢?嗨,Satish,它只使用字符串,而不是作为EmployeeIdops使用数字,是的,我忘了regex在mongo db中也使用字符串。不用担心,这里还有另一个选项,请尝试这个{$where:“/^123./.test(this.employeeID)”。我刚测试过,这对我来说很有效。这里的测试是什么?你能编辑整个代码吗