在使用findByIdAndDelete删除文档后,可以通过以下步骤将文档副本存储到变量中:
以下是一个示例代码:
const mongoose = require('mongoose');
// 导入模型
const MyModel = require('./models/myModel');
// 连接数据库
mongoose.connect('mongodb://localhost/myDatabase', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('数据库连接成功'))
.catch(err => console.log('数据库连接失败', err));
// 删除文档并存储副本
async function deleteAndStoreCopy(documentId) {
try {
// 查找并删除文档
const deletedDocument = await MyModel.findByIdAndDelete(documentId);
// 复制文档内容到变量中
const documentCopy = JSON.parse(JSON.stringify(deletedDocument));
// 检查是否成功删除文档
if (deletedDocument) {
console.log('成功删除文档');
console.log('文档副本:', documentCopy);
} else {
console.log('未找到要删除的文档');
}
} catch (error) {
console.log('删除文档时出错', error);
}
}
// 使用示例
deleteAndStoreCopy('documentId');
请注意,上述示例代码中的MyModel是一个Mongoose模型,用于操作MongoDB数据库中的文档。您需要根据自己的实际情况替换为适当的模型。此外,示例代码中的数据库连接字符串和文档ID也需要根据实际情况进行修改。
领取专属 10元无门槛券
手把手带您无忧上云