如何通过Mongoose为Mongo连接建立内存存储引擎?

时间:2019-07-17 02:41:59

标签: node.js mongodb mongoose

我在文档中读到,可以将Mongo配置为内存数据存储。但是我该如何用Mongoose和Node做到这一点?猫鼬的文档未指定此内容。

1 个答案:

答案 0 :(得分:0)

mongodb-memory-server npm软件包可以通过将Mongo二进制文件下载到节点模块来处理在内存中设置Mongo。

直接从docs

import mongoose from 'mongoose';
import { MongoMemoryServer } from 'mongodb-memory-server';

const mongoServer = new MongoMemoryServer();

mongoose.Promise = Promise;
mongoServer.getConnectionString().then((mongoUri) => {
  const mongooseOpts = {
    // options for mongoose 4.11.3 and above
    autoReconnect: true,
    reconnectTries: Number.MAX_VALUE,
    reconnectInterval: 1000,
    useMongoClient: true, // remove this line if you use mongoose 5 and above
  };

  mongoose.connect(mongoUri, mongooseOpts);

  mongoose.connection.on('error', (e) => {
    if (e.message.code === 'ETIMEDOUT') {
      console.log(e);
      mongoose.connect(mongoUri, mongooseOpts);
    }
    console.log(e);
  });

  mongoose.connection.once('open', () => {
    console.log(`MongoDB successfully connected to ${mongoUri}`);
  });
});