将sql query转换为Mongo languague [英] Translation of sql query to Mongo languague

查看:72
本文介绍了将sql query转换为Mongo languague的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在Mongo中执行以下查询:

I am trying to do the following query in Mongo:

SELECT * 
FROM events 
WHERE v1 - v2 > 20;

其中v1和v2是SQL DB中的列名称.

where v1 and v2 are names of columns in the SQL DB.

如何将其翻译成Mongo Languague?

how can I translate it to Mongo Languague?

推荐答案

假定您在events中有这些文档:

Assume you have these documents in your events:

{
    "_id" : ObjectId("54cdfde528bb923955eff8b4"),
    "v1" : 35,
    "v2" : 10
}

/* 1 */
{
    "_id" : ObjectId("54cdfde928bb923955eff8b5"),
    "v1" : 10,
    "v2" : 20
}

您不能使用简单的find()查询.您应该使用聚合:

You cant use a simple find() query. You should use aggregation:

db.events.aggregate(
[    
    { $project : { 'diff' : { $subtract : ['$v1', '$v2'] }, v1 : 1, v2 : 1 } },
    { $match : { diff : { $gt : 20} } },
    { $project : { v1 : 1, v2 : 1 } },
]).result

结果是:

{
    "0" : {
        "_id" : ObjectId("54cdfde528bb923955eff8b4"),
        "v1" : 35,
        "v2" : 10
    }
}

这篇关于将sql query转换为Mongo languague的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆