当前位置: 首页 > 知识库问答 >
问题:

如何将mysql查询转换为mongodb查询?

石正奇
2023-03-14

我使用了cakephp Mysql到mongodb查询组件,即将Mysql查询转换到mongodb中,但是当查询有多个括号时代码停止工作,我还尝试将http://www.querymongo.com/site上的查询转换为相同的问题,

app.get("/products", function (req, res) {
    const marche_id = req.query.marche_id;
    con.query(
        // `SELECT DISTINCT libelle, code_libelle, marche FROM marche_all WHERE ${
        `SELECT DISTINCT libelle, code_libelle, marche FROM marche_alpha WHERE ${marche_id !== undefined ? `(marche = '${marche_id}')` : ""
        } `,
        function (err, data) {
            err ? res.send(err) : res.json(data);
        }
    );
});

app.get("/product", function (req, res) {
    const product_id = req.query.product_id;
    const marche_id = req.query.marche_id;

    con.query(
        // `SELECT * FROM marche_all WHERE (marche = '${marche_id}')
        `SELECT * FROM marche_alpha WHERE (marche = '${marche_id}')
    AND (code_libelle=${product_id})
`,
        function (err, data) {
            err ? res.send(err) : res.json(data);
        }
    );
});

共有1个答案

柴文林
2023-03-14
//sql
`SELECT DISTINCT libelle, code_libelle, marche FROM marche_alpha WHERE ${marche_id !== undefined ? `(marche = '${marche_id}')` : "";
//mongo
db.marche_alpha.find({ marche: marche_id}, {libelle: 1, code_libelle: 1});
//sql
`SELECT * FROM marche_alpha WHERE (marche = '${marche_id}') AND (code_libelle=${product_id})`;
//mongo
db.marche.findOne({$and [{marche: marche_id}, {code_libelle: product_id}}];
 类似资料:
  • 问题内容: 我想从数据库中删除某些项目。我有以下查询: 这有效,并返回2个结果。 现在,我想将此查询转换为查询。但是,以下操作无效: MySQL引发以下错误: 1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ WHERE entry.sheetID = sheets.id ANDsheets.clientID = 13”附近使用 我在这里做错

  • 问题内容: 在我的MySQL模式中,我有表 在MSSQL中,我进行了CTE查询(从下至上为提供的类别ID构建类别树: 如何将该查询“转换”为MySQL? 问题答案: 不幸的是,MySQL不支持CTE(公用表表达式)。IMO早就该这样做了。通常,您可以只使用子查询来代替,但是这种特定的CTE是 递归的 :它在查询中引用自身。递归CTE对于分层数据非常有用,但同样:MySql根本不支持它们。您必须实现

  • 我在Mysql中有一个查询, 我已经完成了简单的查询转换为hibernate查询。我将所有pojo类绑定到表。请指导我如何将多个连接查询转换为一个hibernate查询。

  • 问题内容: 关于我之前的问题ElasticSearchQuery,其中给出了映射和doc示例,我想将此MySql查询转换为Elasticsearch。这是mysql查询 期待您的帮助 问题答案: 以下查询将为您提供帮助。请注意,在映射中,您已经提到了上述查询。 尽管如此,我还是利用了它,使其与映射保持一致。 我使用过术语查询,术语查询和多匹配查询的变体。 请注意,我已经在字段上使用了Term Qu

  • 问题内容: 我正在使用mysql功能XOR(^)和BIT_COUNT()的Ruby应用程序上工作。但是,我现在需要在运行PyGreSQL的Heroku上运行该应用程序。 我找不到任何可以帮助我的PyGreSQL文档。 那么任何人都可以翻译此mysql查询,以便在pygresql数据库上执行时可以正常工作吗? pygresql给我错误 谢谢。 问题答案:

  • 问题内容: 我需要将此查询从MySQL格式转换为SQLite。我正在尝试自己,但发现了一些困难。 在SQLite中,curdate()和interval函数不存在。 问题答案: 这是基本语法: 我忽略了该子句,因为这些日期是过去1000多个日期,因此他们无论如何都不会选择任何内容。