Ite*_*tor 10 javascript sqlite orm node.js node-orm2
我想用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之前创建它也不起作用
根据文档,仅当连接成功(或不成功)时才会调用回调...因此,如果您的路径不正确(出于任何原因,并且您的连接没有明确不成功),也许没有回调?
如果您直接侦听连接事件,则可以避免回调,如下所示:
var orm = require('orm');
var db = orm.connect('sqlite://D:/orm_test/database.db');
db.on('connect', function(err) {
if (err) return console.error('Connection error: ' + err);
// doSomething()...
});
Run Code Online (Sandbox Code Playgroud)
连接 URL 类似于:
driver://username:password@hostname/database?option=value
Run Code Online (Sandbox Code Playgroud)
您可以使用调试选项将查询打印到控制台,也许会有更多信息?
编辑:
嗯,我只是尝试使用它并做到了:
// REQUIRES
var express = require('express');
var app = express();
var orm = require("orm");
var sqlite3 = require('sqlite3');
// SERVER CONFIGURATION
var port = 5050;
// APP CONFIGURATION
app.use(express.static('public'));
app.use('/static', express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
// ROUTES
app.get('/', function(req, res){
orm.connect('sqlite://C:/Users/Me/Documents/Projects/test/database.db', function(err, db){
console.log('connected to this db : ' + JSON.stringify(db));
});
});
app.listen(port, function(){
console.info('Server successfully started, listening on port ' + port);
});
Run Code Online (Sandbox Code Playgroud)
它有效... JSON.stringify 在控制台中显示了 DB 对象的内容。你的代码看起来像这样吗?
| 归档时间: |
|
| 查看次数: |
181 次 |
| 最近记录: |