我需要做的是将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);
这似乎就是你想要的。