Mongoose“Find”不返回与Mongo Shell相同的结果

kupeojn6  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(135)

我在使用Mongoose包中的find函数时遇到了一个问题。当我调用这个函数时,它什么也不返回。然而,使用MongoDBCompass的shell,我得到了预期的结果。下面是函数调用:

let { ISBN } = *req.body*;
let searchPattern = ISBN;

await booksModel
    .**find**({ ISBN: { $regex: searchPattern, $options: "i" } })
    .then((result) => {
      setTimeout(() => {
        return res.status(200).json({ message: `${result.length} books found`, books: result });
      }, 1000);
    })
    .catch((error) => {
      console.log(error);
      return res.status(404).json({ message: "Error while searching.", error: error });
    });

ISBN存储为“字符串”类型。查询也是作为字符串来的
这里是Schema。

const booksSchema = new mongoose.Schema({
  ISBN: String,
  title: String,
  author: String,
  thumbnail: String,
  description: String,
  addDate: Date,
  additionalImages: [], // { String, String }
  storageInfo: [], // type {serialNumber: Number, aisle: String, shelf: String}
  issueList: [], // userID: String, issueDate: Date, isIssued: Boolean
});

谢谢.

brtdzjyr

brtdzjyr1#

真糟糕。我连接到了应用程序中的另一个数据库示例,它没有我正在输入的ISBN条目。MongoDB Compass连接到另一个示例。吸取教训了。

相关问题