Mongoose无法创建第二个MongoDB集合问题求助
Mongoose创建People集合不显示问题排查
我使用Mongoose在MongoDB的fruitsDB数据库中创建第二种集合,第一个Fruit集合已成功创建并显示,但第二个People集合始终不显示,多次刷新Studio 3T界面仍无法看到。控制台没有报错,尝试过ChatGPT的解决方案但无效。
相关代码
const mongoose = require('mongoose'); mongoose.connect("mongodb://localhost:27017/fruitsDB",{useNewUrlParser: true}) const fruitSchema = new mongoose.Schema({ // 创建数据结构模板 name: String, rating: Number, review: String }); const Fruit = mongoose.model("Fruit", fruitSchema) const fruit = new Fruit({ name: "Apple", rating: 7, review: "5" }) fruit.save(); // 创建people集合的任务 const peopleSchema = new mongoose.Schema({ name: String, age: Number, education: String }) const People = mongoose.model("People", peopleSchema); const people = new People({ name: "Kanha", age: 19, education: "Btech" }); people.save() // 数据未保存到数据库
问题现象
Studio 3T界面仅显示已创建的Fruit集合,People集合未出现在列表中。
排查与解决方案
- 核对集合名称:Mongoose默认会将模型名转换为小写复数形式,
People模型对应的集合名是people,去Studio 3T中查找people集合而非People。 - 验证数据写入结果:在
people.save()后添加回调或使用async/await确认是否真的写入成功,避免静默失败:// 回调方式 people.save((err, savedDoc) => { if (err) console.error("保存失败:", err); else console.log("数据已成功写入:", savedDoc); }); // async/await方式 async function savePeopleData() { try { await people.save(); console.log("People数据保存成功"); } catch (error) { console.error("保存出错:", error); } } savePeopleData(); - 确认数据库连接状态:给mongoose连接添加状态回调,确保连接正常:
mongoose.connect("mongodb://localhost:27017/fruitsDB", {useNewUrlParser: true}) .then(() => console.log("数据库连接成功")) .catch(err => console.error("数据库连接失败:", err)); - 正确刷新Studio 3T:右键点击fruitsDB数据库名称,选择「Refresh」选项刷新,或重启Studio 3T后再查看集合列表。
内容的提问来源于stack exchange,提问作者Ashutosh Hota
相关产品推荐
相关产品推荐

