无法在 Mongoose 中执行 运行 命令

Cannot run command in Mongoose

问题陈述

我不能在 Mongoose 的 model.db.db.admin().command() 方法中 运行 MongoDB 命令。它给了我错误:UnhandledPromiseRejectionWarning: MongoError: no such command: '0'


我试过的

SyntaxError: Unexpected token, expected ";" (1:15)

mongoexport -c appointment -o appointments_2021_04_10_9_52.json

请注意:我对Mongoose/NodeJS 和MongoDB 很陌生。另外,我在本地 运行ning MongoDB。


我的代码(app.js)

app.get('/exportAllAppoinments', (req, res) => {

    mongoose.connect(mongoUrl, { useNewUrlParser: true, useUnifiedTopology: true }).then(() => {

        const dateTime = moment().format('yyyy_mm_dd_hh_mm');
        console.log(dateTime);

        modelAppointment.db.db.admin().command('mongoexport --collection=appointment --out=appointments_' + dateTime + '.json').then(result => {
            console.log(result);
        });
    },
        err => console.log(err)
    );
});

预期结果

Mongoose 应导出整个集合并将文件发送回前端。


实际结果

它什么都不做,并给我一个错误,如开头所示。

modelAppointment.db.db.admin().command()用于提交一个database command到MongoDB。

mongoexport是命令行工具,不是数据库命令。

您可以尝试使用 exec 从 child_process 到 运行 命令。