📜  mongoose | findById()函数(1)

📅  最后修改于: 2023-12-03 15:32:57.623000             🧑  作者: Mango

Mongoose | findById()函数

在Mongoose中,findById()函数是一种非常常用的方法,可以根据给定的文档的ID来查询单个文档。在本文中,我们将介绍如何使用findById()函数。

用法

findById()函数使用文档的ID来查找文档。下面是一个使用findById()函数的例子:

const mongoose = require('mongoose');

const UserSchema = new mongoose.Schema({
  name: String,
  email: String
});

const UserModel = mongoose.model('User', UserSchema);

UserModel.findById('5fb2ff2aca3f3b1d067c414a').exec((error, user) => {
  if (error) {
    console.log(error);
  } else {
    console.log(user);
  }
});

在上面的例子中,我们使用findById()函数来查找ID为5fb2ff2aca3f3b1d067c414a的用户。注意我们使用exec()函数来执行查询。

findById()函数还可以使用callbackPromise两种方式来执行查询。下面是使用Promise的例子:

const user = await UserModel.findById('5fb2ff2aca3f3b1d067c414a').exec();
console.log(user);
错误处理

当发生错误时,findById()函数将返回一个null值。因此,我们需要检查查询结果是否为null值,以确保没有发生错误。下面是一个使用callback来处理错误的例子:

UserModel.findById('123456789', (error, user) => {
  if (error) {
    console.log(error); // 错误处理
  } else if (user == null) {
    console.log('用户不存在'); // 查询结果为null值
  } else {
    console.log(user); // 查询成功
  }
});
结论

findById()函数在Mongoose中是一个非常常用的方法,可以通过文档ID来查找单个文档。我们可以使用callbackPromiseasync/await三种方式来执行查询,但要记得处理查询结果为null的情况。