Regex 匹配字符串“;ces“;在最后三封信中
我想知道如何在mongodb中只使用名称的最后三个字母,使用结构db.collection.find(),谢谢Regex 匹配字符串“;ces“;在最后三封信中,regex,mongodb,mongodb-query,Regex,Mongodb,Mongodb Query,我想知道如何在mongodb中只使用名称的最后三个字母,使用结构db.collection.find(),谢谢 { “地址”:{ “建筑”:“1007”, “coord”:[-73.856077,40.848447], “街道”:“莫里斯公园大道”, “zipcode”:“10462” }, “自治区”:“布朗克斯”, “烹饪”:“面包房”, “职系”:[ {“日期”:{“$date”:1393804800000},“等级”:“A”,“分数”:2}, {“日期”:{“$date”:1378857
{
“地址”:{
“建筑”:“1007”,
“coord”:[-73.856077,40.848447],
“街道”:“莫里斯公园大道”,
“zipcode”:“10462”
},
“自治区”:“布朗克斯”,
“烹饪”:“面包房”,
“职系”:[
{“日期”:{“$date”:1393804800000},“等级”:“A”,“分数”:2},
{“日期”:{“$date”:1378857600000},“等级”:“A”,“分数”:6},
{“日期”:{“$date”:1358985600000},“等级”:“A”,“分数”:10},
{“日期”:{“$date”:1322006400000},“等级”:“A”,“分数”:9},
{“日期”:{“$date”:1299715200000},“等级”:“B”,“分数”:14}
],
“名称”:“莫里斯公园烘焙店”,
“餐厅id”:“30075445”
}
我目前的尝试:
db.mycollection.find({},{name:“ces”})
根据您的意思是“单词的最后三个字母”还是“字段的最后三个字母”,您通常需要
关于这些数据:
{“_id”:ObjectId(“570462448c0fd5187b53985a”),“name”:“Bounces”}
{“_id”:ObjectId(“5704624d8c0fd5187b53985b”),“name”:“Something”}
{“_id”:ObjectId(“5704625b8c0fd5187b53985c”),“name”:“反弹某物”}
然后对“单词”的查询,其中\b
表示“单词边界”,并通过“字符串”表达式中的\
进行转义:
db.collection.find({“name”:{“$regex”:“ces\\b”})
哪些匹配:
{“_id”:ObjectId(“570462448c0fd5187b53985a”),“name”:“Bounces”}
{“_id”:ObjectId(“5704625b8c0fd5187b53985c”),“name”:“反弹某物”}
或者查询“字段”,其中$
表示“从末尾开始”:
db.collection.find({“name”:{“$regex”:“ces$”})
哪些匹配:
{“_id”:ObjectId(“570462448c0fd5187b53985a”),“name”:“Bounces”}
尝试以下任一方法:
db.hotels.find({name:/ces$/})
db.hotels.find({name:{$regex:{$ces$”})
db.hotels.find({name:{$regex:/ces$/})
“name”
字段不以“ces”
结尾,甚至在字符串的任何部分都不包含这些字母。