现在使用sailsjs v0.10.配置connections.js和models.js并将其更改为connection:'localMongodbServer',安装npm install sails-mongo.
所有这一切都显示错误
var des = Object.keys(dbs[collectionName].schema).length === 0 ? ^ TypeError: Cannot read property 'schema' of undefined at Object.module.exports.adapter.describe (app1_test/node_modules/sails-mongo/lib/adapter.js:70:48)
如果将collections.js更改为adapter.js显示错误
[err] In model (model1), invalid connection :: someMongodbServer [err] Must contain an `adapter` key referencing the adapter to use.
gorelative.. 35
没有看到代码,我只能假设一些事情.
你正在开始一个新的sailsjs v0.10项目
您没有正确配置您的配置.
如果不是这样,请告诉我,我可以适当更新答案.
我有一个v0.10的样板,里面有一些东西,所以你可以看看它是如何完成的.在这里看到那个回购
connections.js
是适当的文件名,它已被更改0.10
.
首先确保安装了sails-mongo.
#From your project root run npm install sails-mongo --save
接下来,您需要定义连接,并告诉sails默认情况下用于模型的适配器.这是一个什么样的例子connections.js
并models.js
应该像.
module.exports.connections = { mongodb: { adapter : 'sails-mongo', host : 'localhost', port : 27017, user : '', password : '', database : 'yourdevdb' } }models.js
module.exports.models = { // Your app's default connection. // i.e. the name of one of your app's connections (see `config/connections.js`) // // (defaults to localDiskDb) connection: 'mongodb' };
您还可以指定连接,config/local.js
以避免将敏感数据提交到存储库.这就是你如何做到的.
您不需要指定所有内容,因为local.js
将覆盖connections.js
Sails中定义的最新内容也将它们组合在一起.
module.exports = { connections: { mongodb: { host : 'localhost', port : 27017, user : '', password : '', database : 'yourdevdb' } } }
您甚至可以在单个模型中定义适配器,以用于需要单个模型与不同数据库类型进行通信的实例.
您可以通过adapter:
在模型中指定来完成此操作.
module.exports = { adapter: 'myothermongodb', }, config: { user: 'root', password: 'thePassword', database: 'testdb', host: '127.0.0.1' },
bredikhin.. 7
如果您使用的是v0.10,则需要在Github上sails-mongo
从v0.10
分支安装,因为在v0.10中更改了Waterline适配器API.在你的package.json
投入
"sails-mongo": "https://github.com/balderdashy/sails-mongo/archive/v0.10.tar.gz"
然后运行npm install
.
在config/connections.js
您应该描述MongoDB适配器,并且config/models.js
必须在您的此适配器中引用.
就是这样,sails lift
应该在那之后工作.
没有看到代码,我只能假设一些事情.
你正在开始一个新的sailsjs v0.10项目
您没有正确配置您的配置.
如果不是这样,请告诉我,我可以适当更新答案.
我有一个v0.10的样板,里面有一些东西,所以你可以看看它是如何完成的.在这里看到那个回购
connections.js
是适当的文件名,它已被更改0.10
.
首先确保安装了sails-mongo.
#From your project root run npm install sails-mongo --save
接下来,您需要定义连接,并告诉sails默认情况下用于模型的适配器.这是一个什么样的例子connections.js
并models.js
应该像.
module.exports.connections = { mongodb: { adapter : 'sails-mongo', host : 'localhost', port : 27017, user : '', password : '', database : 'yourdevdb' } }
module.exports.models = { // Your app's default connection. // i.e. the name of one of your app's connections (see `config/connections.js`) // // (defaults to localDiskDb) connection: 'mongodb' };
您还可以指定连接,config/local.js
以避免将敏感数据提交到存储库.这就是你如何做到的.
您不需要指定所有内容,因为local.js
将覆盖connections.js
Sails中定义的最新内容也将它们组合在一起.
module.exports = { connections: { mongodb: { host : 'localhost', port : 27017, user : '', password : '', database : 'yourdevdb' } } }
您甚至可以在单个模型中定义适配器,以用于需要单个模型与不同数据库类型进行通信的实例.
您可以通过adapter:
在模型中指定来完成此操作.
module.exports = { adapter: 'myothermongodb', }, config: { user: 'root', password: 'thePassword', database: 'testdb', host: '127.0.0.1' },
如果您使用的是v0.10,则需要在Github上sails-mongo
从v0.10
分支安装,因为在v0.10中更改了Waterline适配器API.在你的package.json
投入
"sails-mongo": "https://github.com/balderdashy/sails-mongo/archive/v0.10.tar.gz"
然后运行npm install
.
在config/connections.js
您应该描述MongoDB适配器,并且config/models.js
必须在您的此适配器中引用.
就是这样,sails lift
应该在那之后工作.