如果字段文本是任何字段文本的子字符串,如何查找记录?

时间:2018-07-05 03:07:25

标签: mongodb mongodb-query

我正在通过编写以下命令来搜索Mongodb文档:

数据似乎是:

{
  "_id": ObjectId("5b3d970398e9d099427896c3"),
  "role": "New Booking is there by abc",
  "date": "07/04/2018",
  "idaddress": "213.123.123.213",
  "booking": {
    "bedroom": 4,
    "bathroom": 6,
    "customer": "abc",
    "email": "abc@gmail.com",
    "provider": "provider1",
    "address": "brazil",
    "appt": "123456",
    "phone": "987654321"
  }
}

查询是:

 db.system.find({$text:{$search:"987654321"}})

这将向我显示其匹配的完整记录,但我希望如果我输入$search:"987",那么它将必须检索我匹配的记录。我的命令中应该纠正的是任何人都可以帮忙。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

可以使用$regex

查询以检索电话号码为987

的文档
db.collection_name.find({ "booking.phone" : {$regex : /^987/}})

查询以获取电话号码以987结尾的文档

db.collection_name.find({ "booking.phone" : {$regex : /987$/}})