gpt4 book ai didi

javascript - Mongoose 已连接但找不到数据

转载 作者:行者123 更新时间:2023-11-30 11:38:30 26 4
gpt4 key购买 nike

我有一个问题,真的需要一些帮助。我们有一个使用 MySQL 的应用程序,我们正在切换到 MongoDB。我们将 Node.js 与 Express 结合使用,并使用 MongoDB 和 Mongoose 作为数据库

我们查看了 MongoDB 和 Mongoose 文档并在 Stack Overflow 上搜索了相关问题,但我们似乎遗漏了一些东西。

这是我们在 app.js 中的内容:

var mongo = require('mongodb');
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost:27017/DBName');

这是我们的 usersModel.js

var db          = require('mongoose');
var Schema = db.Schema;

var userSchema = new Schema({
u_id : Number,
u_name : { type: String, required: true },
u_lastname : String
});

module.exports = db.model('user', userSchema);

这就是我们在 userController 中使用的:

var User        = require('../models/usersModel');

User.find({}, function(err, users) {
if (err) throw err;

console.log("Found users: ", users);
});

console.log(db.connection.readyState);说它正在连接。并且 User.find() 似乎没有给出错误,而是给出了一个空数组/未定义。

如果有人能告诉我们我们忽略了什么,我们将不胜感激。

提前致谢。

最佳答案

不知道为什么有人认为这是个好主意,但这是 mongoose 的做法:

Mongoose by default produces a collection name by passing the model name to the utils.toCollectionName method. This method pluralizes the name.

作为奖励,它是小写的,当您的表名采用驼峰命名法时,这很糟糕。

您可以通过在方案中设置以下选项来修复它:

var userSchema = new Schema({..}, { collection: 'user' });

关于此的更多信息 here .

关于javascript - Mongoose 已连接但找不到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43524673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com