现在使用sailsjs v0.10 .

尽管如此,它还是显示出了错误

 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)

如果你改变了Collection .js到适配器.js显示错误

  [err] In model (model1), invalid connection :: someMongodbServer
  [err] Must contain an `adapter` key referencing the adapter to use.

推荐答案

没有看到代码,我只能假设一些事情.

  1. 你要开始一个新的sailsjs v0.10项目
  2. 您的配置设置不正确.

如果不是这样,请告诉我,以便我可以适当地更新答案.


我有一个v0的样板.10里面有一些东西,所以你可以看看它是怎么做的.看到回购here了吗

连接.js是合适的文件名,它在0.10中被更改.

首先确保安装了sails mongo.

#From your project root run
npm install sails-mongo --save

接下来,您需要定义连接,并告诉sails默认情况下模型要使用什么适配器.下面是连接.jsmodels.js应该是什么样子的示例.

连接.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/连接.js`)
  //
  // (defaults to localDiskDb)
  connection: 'mongodb'
};

您还可以在config/地方的js中指定连接,以避免将敏感数据提交到存储库.你就是这样做的.

您不需要指定所有内容,因为地方的js将覆盖连接.js中定义的内容,连接.js个帆也将组合它们.

地方的js

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'
},

Mongodb相关问答推荐

查找/查找单个深度嵌套文档的多个集合

从两个相连的文件中获取电话和邮箱的渠道是什么?

如何获取键值对的对象,其中值仅具有 mongoDB 中的投影字段

Mongo $sort然后$group,顺序能保证吗?

从 Amazon S3(Next.js、Mongodb、Mongoose)删除图像

将数据从一个集合插入另一个集合的聚合

来自嵌套对象数组的 MongoDB 聚合

Mongo:查找具有 0 个关联文档的文档,成本更低

在golang中的mongodb中的集合列表中打印集合

如何聚合过滤器嵌套文档并从其他字段中获取值

无法让 Mongoose.js 子文档数组填充

使用 Node.js 通过 SSL 连接到 MongoDB

使用 Spring Boot >= 2.0.1.RELEASE 将 ZonedDateTime 保存到 MongoDB 时出现 CodecConfigurationException

mongodump 是否锁定数据库?

你如何让 mongo 在远程服务器上运行?

升级mongodb

mongodb无法启动

Mongoose 的保存回调是如何工作的?

MongoDB 查找精确的数组匹配,但顺序无关紧要

在 MongoDB 中为现有用户更改密码