Node.js Can';初始化独立水线后的t查询集合
我在express.js应用程序中使用独立的Waterline(带sails磁盘驱动器) 我得到以下错误:Node.js Can';初始化独立水线后的t查询集合,node.js,sails.js,waterline,Node.js,Sails.js,Waterline,我在express.js应用程序中使用独立的Waterline(带sails磁盘驱动器) 我得到以下错误: /home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/core/index.js:70 var schemaAttributes = this.waterline.schema[this.identity].attributes;
/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/core/index.js:70
var schemaAttributes = this.waterline.schema[this.identity].attributes;
^
TypeError: Cannot read property 'schema' of undefined
at Core._initialize (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/core/index.js:70:40)
at module.exports (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/core/index.js:50:20)
at module.exports (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/collection/index.js:44:8)
at child (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/utils/extend.js:17:39)
at /home/tux/IdeaProjects/my-first-waterline-thing/bin/www.js:12:47
at /home/tux/IdeaProjects/my-first-waterline-thing/database.js:36:9
at /home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline.js:214:7
at /home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/node_modules/async/lib/async.js:157:25
at /home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/query/index.js:70:7
at /home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/adapter/sync/strategies/alter.js:190:22
at bound (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/node_modules/lodash/dist/lodash.js:957:21)
at applyInOriginalCtx (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/utils/normalize.js:416:80)
at wrappedCallback (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/lib/waterline/utils/normalize.js:315:18)
at _normalizeCallback.callback.success (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/node_modules/switchback/lib/normalize.js:33:31)
at _switch (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/waterline/node_modules/switchback/lib/factory.js:48:28)
at null._onTimeout (/home/tux/IdeaProjects/my-first-waterline-thing/node_modules/sails-disk/lib/adapter.js:179:10)
这是我用来测试水线使用情况的代码(在我的bin/www文件中):
我的database.js
如下所示:
var Waterline = require('waterline');
var User = require('./models/users.js');
var sailsDisk = require('sails-disk');
module.exports = function(app, cb) {
var config = {
adapters: {
'default': sailsDisk
},
connections: {
'default': {
adapter: 'default'
}
},
defaults: {
migrate: 'alter'
}
};
var orm = new Waterline();
orm.loadCollection(User);
orm.initialize(config, function(err, models) {
app.collections = models.collections;
cb(err);
});
};
我认为您应该在初始化之前加载集合,就像在database.js中一样,因此您可以使用
app.collections.user.find(…)
var Waterline = require('waterline');
var User = require('./models/users.js');
var sailsDisk = require('sails-disk');
module.exports = function(app, cb) {
var config = {
adapters: {
'default': sailsDisk
},
connections: {
'default': {
adapter: 'default'
}
},
defaults: {
migrate: 'alter'
}
};
var orm = new Waterline();
orm.loadCollection(User);
orm.initialize(config, function(err, models) {
app.collections = models.collections;
cb(err);
});
};