Articles of orm

Node.js中的模型文件不会考虑configuration

我有这样的模型文件,如下所示: 'use strict' module.exports = function (sequelize, DataTypes) { let User = sequelize.define('user', { id: { type: DataTypes.INTEGER(11), allowNull: false, primaryKey: true, autoIncrement: true } }, { classMethods: { associate: function(models) { this.belongsToMany(models.role, { through: { model: 'user_role' }, foreignKey: 'user_id' }) } } }, { tableName: 'user', timestamps: false, underscored: true } ) return […]

围绕循环依赖工作

我尝试了第一次sequelize ,我有一点麻烦让我的数据库模型的工作。 sequelize.sync()失败, Error: Circular Dependency Instruction -> Result => Instruction 这是有道理的,因为我的模型是循环的: const Instruction = db.define('instruction', { id: { type: Sequelize.INTEGER, allowNull: false, primaryKey: true, autoIncrement: true, }, /* more keys here */ }); //each instruction results in one or more results const Result = db.define('result', { id: { type: Sequelize.INTEGER, allowNull: false, primaryKey: true, […]

节点数据库查询不起作用;

我完全是新的NodeJS编码,所以使自己更具挑战性我也试图通过“ node-orm2 ”使用ORM(除非有人可以build议一个更简单的ORM框架?) 我正在使用一个Ubuntu服务器,它也安装了MySQL,Apache和Tomcat – 所以我想Node应用程序在端口3000上侦听; (Apache在80端口,&Tomcat在8080端口)。 我已经安装了MySQL Driver + ORM模块,它们正确地位于“node_modules”文件夹中 – 这是我的项目的子文件夹。 MySQL设置简单的用户名:“用户”和密码:“密码” 当我运行应用程序时,我收到错误消息: “连接错误:错误:连接ECONNREFUSED 127.0.0.1:3306” 哦 – 应用程序只是试图写一个logging到数据库'testing',如果它的成功,它只是返回消息'成功'的浏览器。 这是我的代码到目前为止; var http = require('http'); var orm = require('orm'); var message; orm.connect('mysql://user:password@localhost/Test', function(err, db) { if (err) return console.error('Connection error: ' + err); var Test = db.define("test", { User : String, Num : Number, Address […]

有没有cron工作在续集js?

有没有在sequelize.js的特定时间段后实现删除logging的方法? 我在文档中找不到类似cron-jobs的东西,但是我偶然发现了一些我认为可能是解决scheme的hooks ,但我不确定… 我的目标是拥有超过x分钟/小时/等的logging。 自动删除

如何在Node.JS应用程序中支持PostgreSQL和SQL Server?

我目前正在开发一个Node.js应用程序,需要能够在PostgreSQL和SQL Server数据库之间切换。 两个数据库都有相同的表,操作也是相同的(基本的CRUD,没什么奇特的)。 我已经完成了研究,并且知道有足够的库来访问这两个数据库。 理想情况下,我想使用ORM,只是让它处理差异。 但是,我似乎无法find一个两者兼而有之的ORM框架。 实际上,我找不到任何支持SQL Server的ORM,而几乎所有的支持Postgres。 所以我的问题:是否有一个支持两者的ORM? 如果没有,那么还有其他的抽象工具/框架会让我的开发人员生活更轻松吗?

node-orm同步到Alter Tables(类似于DataMapper.auto_upgrade)

我正在使用node-orm尝试设置我的数据库。 这是模型代码。 db = orm.connect("mysql", client, (success, db) -> Strain = db.define("strain", name: type: "string" validations: [ orm.validators.unique() ] old_body: type: "string" body: type: "string" created_at: type: "date" update_at: type: "date" ) Strain.sync() ) 我将/orm/lib/databases/mysql.js文件更改为console.log返回的同步信息。 this._client.query(_query, function (err, info) { console.log(err); console.log(info); console.log("collection synced"); }); Strain.sync()第一次运行,这是输出。 null { affectedRows: 0, insertId: 0, serverStatus: 2, warningCount: […]

Node.js Oracle ORM

我对Node.js很新,我必须做一个必须使用Oracle数据库的应用程序。 我发现这个ORM连接到一个Oracle数据库https://github.com/nearinfinity/node-persist,但是这个文档对于Oracle来说很差。 有人知道是否有更好的解决scheme,或者有一些例子来pipe理与Oracle的模块? 谢谢

如何devise一个链式Model.find()函数?

我正在尝试在Node.js中编写ORM 我想声明一个名为Model的类,它将被用来声明一个数据对象,如: Users = new Model(someModelRules); newUser = new Users(userInfomation); 数据模型User有一个名为find()的函数。 现在,我想使find()链接,如: Users.find(" name = 'John' ") .orderedBy("age").desc() .limit(0,10) 或者只是简单地find : Users.find(" name = 'John' ") 为了编写这个find函数,我相信我必须先构buildSQL,然后在find链的末尾执行SQL查询。 我不知道该怎么做,所有我能想到的就是添加一个函数,如: doQuery() ,所以当doQuery()函数时,我将知道是时候执行SQL查询了,如: Users.find(" name = 'John' ") .orderedBy("age").desc() .limit(0,10) .doQuery(); 我知道这是一个简单的解决scheme,但我不想额外的doQuery()函数。 🙁 那么,我该如何devise呢? 如果你能给我看一些带有注释的例子代码,那真是太好了。 谢谢! (抱歉我的英文不好) PS。 我知道ORM2有一个查找function,我只是想,但我想知道如何编码,我几乎无法理解ORM2中的代码,因为没有评论。 (我不会用orm2) =================================解决scheme================ ============== 受@bfavaretto启发: function User() { this.find = […]

TypeScript与knockout.js和ORM

我想使用Type Knockout.js 3和ORM。 在DefinitelyTyped方面,我发现了不同的knockout.js模块,但我不确定是否需要所有这些模块来运行knockout.js 3? knockout.deferred.updates knockout.editables knockout.es5 knockout.kogrid knockout.mapper knockout.mapping knockout.postbox knockout.projections knockout.rx knockout.validation knockout.viewmodel 击倒 对于ORM和TypeScript,我find了node-orm2 。 是最好的方法去或ORM和TypeScript更好的解决scheme?

Sequelize hasOne将不允许多行共享相同的关系

我遇到了使用Postgres驱动程序的sails.js问题: "dependencies": { "sequelize": "^1.7.0", "pg": "^3.0.3" } 我有一个活动模型,与2个模型有一个hasOne关系,属于另一个: classMethods: { associate: function(models) { Activity.hasOne(models.Model2); Activity.hasOne(models.Model3); Activity.belongsTo(models.User); } } 我遇到的问题是我似乎无法创build共享相同的Model2或Model3行/实例的2个活动实例。 我宣布第一个: Activity.create({}).complete(function(err, activity) { if(err) throw err; activity.setUser(User_Instance_X) activity.setModel2(Model2_Instance_X); activity.setModel3(Model3_Instance_X); activity.save().complete(db_save_cb); } 如果我然后声明另一个,使用相同的Model2和Model3实例,但不同的用户,则第一行/实例不再包含对Model2&3的引用,只有最新的行/实例包含该引用。 这是令人费解的function? 这是我的缺乏理解或错误?