如何使用java在mongodb中使用like查询获取所有记录

如何使用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'

我想获取employeeId以123开头的所有记录

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)”。我刚测试过,这对我来说很有效。这里的测试是什么?你能编辑整个代码吗