无法在 Mongoose 中执行 运行 命令
Cannot run command in Mongoose
问题陈述
我不能在 Mongoose 的 model.db.db.admin().command()
方法中 运行 MongoDB 命令。它给了我错误:UnhandledPromiseRejectionWarning: MongoError: no such command: '0'
我试过的
- 我已经在我的 CLI 和 MongoDB Compass Shell 中尝试了 运行ning 以查看它是否是我的命令的错误,它似乎是,它给出了我这个错误:
SyntaxError: Unexpected token, expected ";" (1:15)
mongoexport -c appointment -o appointments_2021_04_10_9_52.json
- 我在谷歌上搜索了很多小时,试图找出如何修复这些错误和 运行 Mongoose 中的正确命令。
请注意:我对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 到 运行 命令。
问题陈述
我不能在 Mongoose 的 model.db.db.admin().command()
方法中 运行 MongoDB 命令。它给了我错误:UnhandledPromiseRejectionWarning: MongoError: no such command: '0'
我试过的
- 我已经在我的 CLI 和 MongoDB Compass Shell 中尝试了 运行ning 以查看它是否是我的命令的错误,它似乎是,它给出了我这个错误:
SyntaxError: Unexpected token, expected ";" (1:15)
mongoexport -c appointment -o appointments_2021_04_10_9_52.json
- 我在谷歌上搜索了很多小时,试图找出如何修复这些错误和 运行 Mongoose 中的正确命令。
请注意:我对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 到 运行 命令。