mongoose踩坑记录

AmsChan ... 2021-04-04 数据库
  • 数据库
小于 1 分钟

在node.js项目中使用mongoose操作mongodb,然后就悲剧了,无论怎样查询结果都是null,弄了好几个小时也没有找到问题

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/hexo_admin', {
  useNewUrlParser: true,
  useUnifiedTopology: true
});
mongoose.set('useFindAndModify', false);

const db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error'));

var userSchema = mongoose.Schema({
  username: String,
  password: String
});

var Users = mongoose.model('users_admin', userSchema);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

然后查了很多资料,发现了一个骚操作,mongoose在创建model的时候会自动给表名加 ‘s’,但是mongodb不会,这就导致了mongoose查询的表名和我预期不一致,故一直查不到数据。

更改如下:

var Users = mongoose.model('users_admin', userSchema, users_admin);
1

无语死了。。。。