我想用sqlite尝试节点orm2.我尝试了示例代码,并将mysql更改为sqlite.它看起来像这样:
var orm = require("orm");
orm.connect('sqlite://D:/orm_test/database.db', function (err, db) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误或警告.什么都没发生.根本没有调用回调.
即使我database.db之前创建它也不起作用
我想创建一个node.js和基于MySQL的应用程序.Google和Stack Overflow为Javascript ORM提供了许多选项:
但是,我找不到支持子查询,连接,转换,存储过程,与MySQL集群兼容的完美ORM,并且具有良好的文档和社区支持.
还有其他选择吗?在做出决定时我应该考虑哪些因素?
关于如何获得自动增量ID的任何见解?据我了解,默认情况下会添加一个id列;但是,由于我使用的是Redshift,因此默认的“串行”类型将不起作用,因为它不受支持。
{ [error: Column "probe.id" has unsupported type "serial".]
name: 'error',
length: 165,
severity: 'ERROR',
code: '0A000',
detail: undefined,
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: '/home/awsrsqa/padb/src/pg/src/backend/parser/parser_analyze.c',
line: '3600',
routine: 'transformColumnDefinition',
model: 'probe' }
Run Code Online (Sandbox Code Playgroud) 我是使用node-orm2的新手,我遇到了以下问题;
TypeError: Object [object Object] has no method 'save'
Run Code Online (Sandbox Code Playgroud)
完整堆栈跟踪http://pastebin.com/cb9Lt9pB
此错误来自Model方法,定义如下;
User.findOrCreate = function (providerName, token, tokenSecret, uid, profile, done) {
this.find({uid: uid}, 1, function(err, user) {
if (user) {
user.displayName = profile.displayName;
user.profileImage = profile._json.profile_image_url;
user.save(function(err){
return done(err, user, false);
});
} else {
....
Run Code Online (Sandbox Code Playgroud)
模型定义的完整代码在http://pastebin.com/7Bv8XG36
据我所知,实例没有使用文档(https://node-orm.readthedocs.org/en/latest/ref/instance.html)中概述的save方法返回.
如果我在用户对象上执行console.log,你可以清楚地看到它除了getter和setter之外没有任何方法.
[ { id: [Getter/Setter],
uid: [Getter/Setter],
username: [Getter/Setter],
displayName: [Getter/Setter],
token: [Getter/Setter],
tokenSecret: [Getter/Setter],
profileImage: [Getter/Setter] } ]
Run Code Online (Sandbox Code Playgroud)
如果我使用不正确,任何人都可以提供任何见解吗?或任何指针,以帮助我理解为什么save方法不在实例上.
作为参考,我使用最新版本的node-orm2("orm":"*")和mysql.
我正在尝试设置一个使用node-orm2的node.js应用程序.但是,我们的云托管数据库只能通过SSH隧道连接.检查ORM文档我看不到任何通过SSH隧道连接到数据库的配置选项.有没有办法设置这个或我需要找到一些没有SSH连接的方法?
node-orm2 ×5
node.js ×5
javascript ×2
orm ×1
sails.js ×1
sequelize.js ×1
sqlite ×1
waterline ×1