MongoDB 等价于 SQL“NOT LIKE”查询

Posted

技术标签:

【中文标题】MongoDB 等价于 SQL“NOT LIKE”查询【英文标题】:MongoDB equivelant to SQL "NOT LIKE" query 【发布时间】:2014-05-16 18:11:46 【问题描述】:

我有以下 SQL 语句

SELECT Currency, TransTime, AuthTime FROM MONIES WHERE Currency not like 'USD%';

如果 SQL 语句只是一个“LIKE”查询,它将产生以下 MongoDB 语句

db.MONIES.find(
        "Currency": "USD%"
    , 
        "Currency": 1,
        "TransTime": 1,
        "AuthTime": 1
);

这是对“不喜欢”等价物的正确查询吗?我认为这对the documentation for the 'not' operator 来说是正确的,但我想用 *** 仔细检查一下

db.MONIES.find(
        "Currency":  $not:  $like: 'USD%'  
    , 
        "Currency": 1,
        "TransTime": 1,
        "AuthTime": 1
);

【问题讨论】:

没有$like运算符,我想你是在找正则表达式docs.mongodb.org/manual/reference/operator/query/regex 【参考方案1】:

The page you link实际上有一个你想做的例子:

db.inventory.find(  item:  $not: /^p.*/   )

没有$like 运算符,但MongoDB 支持regular expressions。

【讨论】:

当然你需要把'item'换成'Currency',把'p'换成'USD'

以上是关于MongoDB 等价于 SQL“NOT LIKE”查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL Server 查询中同时使用 LIKE 和 NOT LIKE

SQL NOT LIKE 与子查询

sap hana sql中not like 多个条件

SQL中的NOT LIKE IN语句[重复]

你可以在 SQL 中使用 DOES NOT CONTAIN 来代替 not like 吗?

vbscript 里使用sql语句not like问题