问题描述:在保存数据之后,使用Mongoose的findOne方法无法正常工作。
解决方法示例:
const mongoose = require('mongoose');
// 定义数据模型
const UserSchema = new mongoose.Schema({
name: String,
age: Number
});
const User = mongoose.model('User', UserSchema);
// 创建连接
mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('数据库连接成功');
})
.catch((err) => {
console.error('数据库连接失败', err);
});
// 创建新用户并保存
const user = new User({
name: '张三',
age: 20
});
user.save()
.then(() => {
console.log('用户保存成功');
// 在保存成功后,使用findOne方法查找该用户
User.findOne({ name: '张三' })
.then((foundUser) => {
console.log('找到的用户:', foundUser);
})
.catch((err) => {
console.error('查找用户失败', err);
});
})
.catch((err) => {
console.error('用户保存失败', err);
});
在上述示例中,首先定义了一个名为User
的数据模型,然后创建连接到MongoDB数据库。接下来,我们使用user.save()
方法保存了一个新用户。在保存成功后,使用User.findOne()
方法查找该用户。如果查找成功,会打印找到的用户信息;如果查找失败,会打印错误信息。
请确保已正确安装和导入Mongoose,并将MongoDB连接URL替换为你自己的URL。如果问题仍然存在,请确保数据库的连接和保存操作没有错误,并检查数据库中是否有符合查询条件的数据。