三行代码  ›  专栏  ›  技术社区  ›  koque

为什么mongoose在mongodb中找不到我的数据

  •  1
  • koque  · 技术社区  · 2 月前

    我有以下模式:

    const mongoose = require("mongoose");
    
    const { ObjectId, Number } = mongoose.Schema.Types;
    
    const CategoriesSchema = new mongoose.Schema(
      {
        name: {
            type: String,
            required: true,
        },
        img: {
            type: String,
            required: true,
        }
      }
    );
    
    mongoose.model("Categories", CategoriesSchema, 'categories');
    

    我的集合被称为categories,它位于mxzconstruction数据库中。我正在对类别进行查找,但它没有返回任何数据。

    exports.getCategories = async (req, res) => {
    console.log('GET CATEGORIES')
    
    try {
        const categories = await Categories.find();
        console.log('categories', categories)
        res.status(200).json(categories)
    } catch(error) {
        console.error(error);
        res.status(500).send('Problem getting categories.')
    }
    

    }

    假设mxzconstruction和databaseXYZ这两个数据库有一个名为“categories”的集合,那么在猫鼬模型中没有指定数据库的情况下,猫鼬如何知道返回哪些类别?

    1 回复  |  直到 2 月前
        1
  •  1
  •   M. Çağlar TUFAN    2 月前

    您需要在数据库连接字符串中指定要连接到的数据库(databaseXYZ或mxzcondstruction),例如:

    mongodb://domain[:port]/<databaseName>
    

    有关更多信息,请参阅 Connection String URI Format