项目作者: fanyingmao

项目描述 :
mogodb json param change sql
高级语言: JavaScript
项目地址: git://github.com/fanyingmao/ym-mongodb-sql.git
创建时间: 2018-05-01T09:04:57Z
项目社区:https://github.com/fanyingmao/ym-mongodb-sql

开源协议:

下载


ym-mongodb-sql

将 mongodb 的 json 参数转换为 sql 语句,通过较少的更改实现mogodb数据库向 mysql 数据库的迁移

安装

  1. npm i ym-mongodb-sql

或者可通过 npm 的 github 安装方式安装模块

  1. npm i fanyingmao/ym-mongodb-sql

使用

find 方法

  1. let ym = require("ym-mogodb-sql");
  2. let {sql, valueArr} = ym.find("tlf_user", {
  3. $or: [{email: {$regex: "*", $options: 'g'}, eail: {$regex: "*", $options: 'g'}}],
  4. $nor: [{mobile: {$regex: "*", $options: 'g'}, emil: {$regex: "*", $options: 'g'}}],
  5. id: {$in: [1, 2, "3"]}
  6. }, {name: 1});
  7. console.log("sql : " + sql);
  8. console.log("valueArr : " + valueArr);
  9. // sql : select name from tlf_user where (email regexp ? or eail regexp ?) and !(mobile regexp ? or emil regexp ?) and id in (?,?,?);
  10. // valueArr : *,*,*,*,1,2,3

delete 方法

  1. let ym = require("ym-mogodb-sql");
  2. let {sql, valueArr} = ym.delete("tlf_user", {
  3. $or: [{email: {$regex: "*", $options: 'g'}, eail: {$regex: "*", $options: 'g'}}],
  4. $nor: [{mobile: {$regex: "*", $options: 'g'}, emil: {$regex: "*", $options: 'g'}}],
  5. id: {$in: [1, 2, "3"]}
  6. });
  7. console.log("sql : " + sql);
  8. console.log("valueArr : " + valueArr);
  9. // sql : delete from tlf_user where (email regexp ? or eail regexp ?) and !(mobile regexp ? or emil regexp ?) and id in (?,?,?);
  10. // valueArr : *,*,*,*,1,2,3

update 方法

  1. let ym = require('ym-mogodb-sql');
  2. let {sql, valueArr} = ym.update('tlf_user', {
  3. $or: [{email: {$regex: '*', $options: 'g'}, eail: {$regex: '*', $options: 'g'}}],
  4. $nor: [{mobile: {$regex: '*', $options: 'g'}, emil: {$regex: '*', $options: 'g'}}],
  5. id: {$in: [1, 2, '3']}
  6. },{name : 'mysql',email:'123456@qq.com'});
  7. console.log('sql : ' + sql);
  8. console.log('valueArr : ' + valueArr);
  9. // sql : update tlf_user set name = ?,email = ? where (email regexp ? or eail regexp ?) and !(mobile regexp ? or emil regexp ?) and id in (?,?,?);
  10. // valueArr : mysql,123456@qq.com,*,*,*,*,1,2,3

insert 方法

  1. let ym = require('ym-mogodb-sql');
  2. let {sql, valueArr} = ym.insert('tlf_user',{name : 'mysql',email:'123456@qq.com'});
  3. console.log('sql : ' + sql);
  4. console.log('valueArr : ' + valueArr);
  5. // sql : insert into tlf_user (name,email) values (?,?);
  6. // valueArr : mysql,123456@qq.com

其它方法和查询条件当前项目未用到所以还有待开发

Typescript 例子,这里只有 find 例子,其它方法类似

  1. import MongodbSql from 'ym-mogodb-sql'
  2. let res = MongodbSql.find("tlf_user", { id: { $in: [] } }, { name: 1 });
  3. console.log('sql : ' + res.sql);
  4. console.log('valueArr : ' + res.valueArr);