将MongoDB查询格式转换为SQL查询



我需要做的是将JSON字符串中的MongoDB查询格式(=>的左侧(转换为相应的SQL查询WHERE子句(=<的右侧(

{ status: "D" }`  **=>** `WHERE status = "D"
{ status: { $in: [ "A", "D" ] } }  **=>**  WHERE status in ("A", "D")
{ $or: [ { status: "A" }, { qty: { $lt: 30 } } ] }  **=>** WHERE status = "A" OR qty < 30
{ $and: [ { status: "A" }, { qty: { $lt: 30 } } ] } **=>** WHERE status = "A" AND qty < 30

你能给我一些可以用来做它的框架/库吗?Projetc是Java语言。

您可以尝试npm包mongo-to-sql转换器,它是为此目的而设计的。

根据您的问题调整文档:

var mongoToSqlConverter = require("mongo-to-sql-converter")
const MongoDBQuery = "db.user.find({ $or: [ { status: 'A' }, { qty: { $lt: 30 } } ] });"
const SQLQuery = mongoToSqlConverter.convertToSQL(MongoDBQuery, true)
console.log(SQLQuery)

将以上内容放在脚本中并在终端中使用节点运行会导致

✗ node mongo.js 
SELECT * FROM user WHERE (status = 'A' OR qty < 30);

这似乎就是你想要的。