当前位置: 首页 > 面试题库 >

如何使用sailsjs v0.10与mongodb连接?

益明朗
2023-03-14
问题内容

现在使用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.

问题答案:

不看代码,我只能承担几件事。

  1. 您正在启动一个新的sailsjs v0.10项目
  2. 您没有正确设置配置。

如果不是这种情况,请告诉我,以便我可以适当地更新答案。

我有一个v0.10的样板,其中包含了一些内容,因此您可以看到它是如何完成的。在此处查看该回购

connections.js是适当的文件名,已在中进行了更改0.10

首先确保安装了sails-mongo。

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

接下来,您需要定义连接,并告诉Sails默认情况下要用于模型的适配器。这是一个什么样的例子connections.jsmodels.js应该像。

connections.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.jsSails中定义的内容,也将它们结合起来。

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


 类似资料:
  • 我已经尝试了以下代码: 但它显示了一些错误: New-Object:异常调用". ctor"与"1"参数:"无法加载文件或程序集"System.运行时。InteropServices.RuntimeInformation, Version=4.0.0.0,'区域性=中性, PublicKeyToken=b03f5f7f11d50a3a'或其依赖项之一。系统找不到指定的文件。" at D:\用户\x

  • 这是我的: 和Dockerfile goparser: 连接MongoDB需要使用哪个地址?

  • MongoDB连接错误MongoNetworkError:在第一次连接[MongoNetworkError:到Cluster0-Shard-00-00-C487Z.MongoDB.net:27017的连接5已关闭......]时连接到服务器[Cluster0-Shard-00-00-C487Z.MongoDB.net:27017]失败 这是我的代码。

  • 问题内容: 当我使用MongoChef连接远程mongo数据库时,我使用下一个参数: 服务器 服务器: 本地主机 端口: 27017 SSH隧道 SSH地址: 10.1.0.90 端口: 25 SSH用户 名 : 用户名 SSH密码: 密码 当我与Pymongo连接时,我有以下代码: 但是我有下一个错误: 拜托,您能帮我解决这个问题吗?我做错了什么? 问题答案: 适用于我的解决方案。

  • 我每天都在连接mongo db,它工作得很好,但今天它困扰着我下面的错误,任何人都可以帮我请。 连接到:测试2017-01-10T14:26:13.073 0530警告:连接到127.0.0.1:27017失败,原因:错误号:111连接被拒绝2017-01-10T14:26:13-074 0530错误:无法连接到服务器127.0-0.1:27017(127.0.0.1),在src/mongo/sh

  • 我正在处理一个节点。js服务器,连接到MongoDB,用TypeScript编写。当我尝试使用MongoDB时,它不会创建连接,但是当我检查mongo输出时,它似乎确实创建了连接。 在节点中定义连接的代码中缺少了什么。js? 我的连接字符串是 我的连接方式: Mongo输出: 2018-11-08T23:06:24.106 0100网络[监听器]连接从127.0.0.1:51345#11接受(2个