我如何使用like运算符在mongo db中查询[重复]
Posted
技术标签:
【中文标题】我如何使用like运算符在mongo db中查询[重复]【英文标题】:how do i query in mongo db using like operator [duplicate] 【发布时间】:2017-03-25 07:24:15 【问题描述】:我想使用like
运算符查询基于date(11/11/2016)
的内容:
如何在 mongodb 中做同样的事情?
db.getCollection('TableName').find("Date":/.*10/11/2016.*/)
我尝试了这个查询,但得到了invalid result
。
【问题讨论】:
日期是否存储为字符串? 是的 lakshmipriya。得到了刚刚尝试使用此查询的结果 db.getCollection('TableName').find("Date":/.*11\/11\/2016 .*/) 【参考方案1】:mongo中没有like
,可以使用regex
在这种情况下,您不需要正则表达式,您可以使用简单的查找查询获得结果,存储在 mongodb 中的日期为 ISO
甲酸盐,因此首先将您的日期转换为 ISO date
,然后查找例如
var convertDate = "11/11/2016";
convertDate = new Date(11/11/2016);
db.getCollection('TableName').find(date : convertDate)
或者,如果您想在 mongo 中使用 like
,请使用此
1)直接搜索
db.getCollection('TableName').find(date : $regex : "11/11/2016")
2) 在日期上创建文本索引,然后搜索
db.getCollection('TableName').find($text:$search:"11/11/2016")
【讨论】:
【参考方案2】:当您有 /
的值时,可以通过 .
完成 Mongodb 中的 Like/Regex。
要获取以10/11/
开头的日期,请尝试以下查询:
db.getCollection('TableName').find('Date':/^10.11./)
【讨论】:
以上是关于我如何使用like运算符在mongo db中查询[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cassandra 3.7 中使用 LIKE 运算符查询“%”字符?
如何使用nodejs在IBM Db2的LIKE查询中传递参数?