Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 匹配字符串“;ces“;在最后三封信中_Regex_Mongodb_Mongodb Query - Fatal编程技术网

Regex 匹配字符串“;ces“;在最后三封信中

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

我想知道如何在mongodb中只使用名称的最后三个字母,使用结构db.collection.find(),谢谢

{
“地址”:{
“建筑”:“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”
结尾,甚至在字符串的任何部分都不包含这些字母。