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 中推荐的级联删除等效项是啥?

与 T-sql 的 LIKE 命令等效的天蓝色表存储查询是啥?

此 SQL 查询的 MongoDB 等效项

从 mysql 到 mongodb 的等效查询

如何在 Sails 中捕获 MongoDB 错误

此 Access 查询的 MS SQL 等效项是啥?