mongodb中sails“包含”的等效查询是啥?
Posted
技术标签:
【中文标题】mongodb中sails“包含”的等效查询是啥?【英文标题】:What is the equivalent query of sails "contains" in mongodb?mongodb中sails“包含”的等效查询是什么? 【发布时间】:2014-06-25 03:12:38 【问题描述】:您好,我在sails 中有这个查询...
Model.find().where( seachField : contains:"search_key" ).exec(cb);
返回总行数:20
当我尝试将其转换为节点时,我使用了查询
db.get().collection("model").find( seachField : '$regex' : ".*"+searchKey+".*").toArray()...
返回总行数:10
我可以知道什么是等效于 mongoDB 的“包含”函数,以便我可以获得相同数量的结果吗?
感谢您的帮助!
谢谢
【问题讨论】:
这些陈述都不应该是有效的。语法应该是 ` "field": contains: "search_key" ` 或纯 mongo"field": "$regex": "search_key"
其中 "field" 是要搜索的字段。我还建议问题可能出在or
上。
嗨,尼尔,感谢您的评论。哦,是的,我忘记了搜索字段 :) 感谢您的纠正......他们都工作正常,唯一的区别是结果有不同的计数。几个小时前我想通了,我刚刚添加了 "$regex" : ".*"+searchKey+".*", "$options":'i' 用于不区分大小写的搜索:)
【参考方案1】:
它的:
db.model.find( seachField : new RegExp(searchKey)).toArray()
如果您熟悉 SQL,这对您很有帮助:http://docs.mongodb.org/manual/reference/sql-comparison/
【讨论】:
以上是关于mongodb中sails“包含”的等效查询是啥?的主要内容,如果未能解决你的问题,请参考以下文章
对于 N:M 关系,在 MongoDB 中推荐的级联删除等效项是啥?