在docker容器内创建与Mockgoose的数据库连接

时间:2018-01-22 18:57:05

标签: node.js docker database-connection mockgoose

我有两个docker容器,一个用于数据库,另一个用于API。 我正在尝试在API中进行一些测试,我需要使用monckgoose。 我可以使用mongoose创建一个成功的连接,但是当我尝试通过mockgoose创建连接时,我得到 MongoError:身份验证失败。

mockgoose.prepareStorage().then(() => {
    console.log("inside prepareStorage");
    mongoose.Promise = promise;
    console.log("before connect);
    mongoose.connect(url, options, (error) => {
        console.log("error:" + error);
    });
}).catch((error) => {
    console.log(error);
});

url is - > mongodb:// database / myDB 其中数据库是docker-compose.yml中的服务 options param只包含正确的用户和传递。

数据库日志显示以下信息:

2018-03-08T17:22:44.549+0000 I COMMAND  [conn2] command admin.$cmd command: isMaster { ismaster: true, $readPreference: { mode: "secondaryPreferred" }, $db: "admin" } numYields:0 reslen:223 locks:{} protocol:op_query 137ms
2018-03-08T17:26:14.033+0000 I COMMAND  [thread4] command config.$cmd command: createIndexes { createIndexes: "system.sessions", indexes: [ { key: { lastUse: 1 }, name: "lsidTTLIndex", expireAfterSeconds: 1800 } ], $db: "config" } numYields:0 reslen:134 locks:{ Global: { acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { W: 1 } } } protocol:op_msg 207ms

有谁知道为什么我无法在 prepareStorage 中创建连接?

0 个答案:

没有答案