Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在创建多个";实例时,一旦编译,就无法覆盖OJLINTTASKCOLLECTION模型;“小鹿”;在nodejs中使用mongoose_Node.js_Mongodb_Express - Fatal编程技术网

Node.js 在创建多个";实例时,一旦编译,就无法覆盖OJLINTTASKCOLLECTION模型;“小鹿”;在nodejs中使用mongoose

Node.js 在创建多个";实例时,一旦编译,就无法覆盖OJLINTTASKCOLLECTION模型;“小鹿”;在nodejs中使用mongoose,node.js,mongodb,express,Node.js,Mongodb,Express,这是我使用fawn的mongodb连接 const mongoose = require("mongoose"); const Fawn = require("fawn"); module.exports = () => { const self = module.exports; mongoose .connect(process.env.MONGO_URI, { useNewUrlParser: true,

这是我使用fawn的mongodb连接

const mongoose = require("mongoose");
const Fawn = require("fawn");

module.exports = () => {
    const self = module.exports;
    mongoose
        .connect(process.env.MONGO_URI, {
            useNewUrlParser: true,
            useCreateIndex: true,
            useUnifiedTopology: true,
            useFindAndModify: false
        })
        .then(() => console.log("DB Connected"))
        .catch(err => {
            console.error(
                "Failed to connect to the database on startup - retrying in 5 sec"
            );
            setTimeout(self, 5000);
        });
        return Fawn.init(mongoose,'OJLINTTASKCOLLECTION ')
};
尽管如此,我为每个应用程序提供了独特的功能。我在编译过程中遇到此错误

OverwriteModelError: Cannot overwrite `OJLINTTASKCOLLECTION ` model once compiled.

我理解为什么会发生这种情况,我正试图在一个预先存在的实例上实例化fawn。但是我如何解决它呢???为什么会出现错误:

当您尝试使用给定集合名称多次注册模型时,会出现
overwriteModeError
错误-

为清楚起见,您注册(或创建)模型是在执行以下操作时:
mongoose.model(,schema)

当您这样做时:

Fawn.init(mongoose,'OJLINTTASKCOLLECTION ')
Fawn会在内部尝试向
OJLINTTASKCOLLECTION
collection-注册模型。由于此注册操作正在抛出一个
OverwriteModeError
,因此很可能您已经在代码中的其他地方向
OJLINTTASKCOLLECTION
集合注册了一个模型

修复程序


查看您的mongoose设置,并确认没有其他型号注册在
OJLINTTASKCOLLECTION
集合上,可以解决问题。

出现错误的原因:

当您尝试使用给定集合名称多次注册模型时,会出现
overwriteModeError
错误-

为清楚起见,您注册(或创建)模型是在执行以下操作时:
mongoose.model(,schema)

当您这样做时:

Fawn.init(mongoose,'OJLINTTASKCOLLECTION ')
Fawn会在内部尝试向
OJLINTTASKCOLLECTION
collection-注册模型。由于此注册操作正在抛出一个
OverwriteModeError
,因此很可能您已经在代码中的其他地方向
OJLINTTASKCOLLECTION
集合注册了一个模型

修复程序


查看您的mongoose设置,确认没有其他型号注册到
OJLINTTASKCOLLECTION
collection上,这应该可以解决问题。

它在我的机器上工作,无论我输入集合的名称是什么。我将此API代码从GitHub拉到另一台机器上,如中所述,我更改了那里的集合名称,但是,在编译过程中,它抛出
overwriteModeError
,无论我输入集合的名称如何,它都在我的机器上工作。我将这个API代码从GitHub拉到另一台机器上,如中所述,我更改了那里的集合名称,但是在编译过程中,它抛出了
overwriteModeError