一、引
今天遇到的问题,数据库中已经存在一张 money
表,数据是后端自己爬取的,现在需要在管理后台对信息进行展示,但是在反复确定数据库连接正确和代码编写正确后,还是查询不成功。然后想到是数据库名都自动加 s
的问题。
在 mongoose 的官网,创建一张表是这样的。
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
const Cat = mongoose.model('Cat', { name: String });
但是在数据库中的表名会自动的显示为 Cats
,如果数据库由自己创建,其他地方操作还很方便,但是对已经存在的不存在 s
的表就无法被识别到。但是数据库表已经无法更改,所以只能我这边自己改。
二、方法
var moneySchema= new Schema({
name: String,
code: String,
title: String,
timestamp: String,
datetime: String,
pdf_type: String,
pdf: String,
})
var money= db.model('money', moneySchema,'money');
很关键的就是第三个参数,如果第三个参数省略,则数据库会自动把第一个参数加上 s
后作为表名。其实第三个参数才是指定的表名。
解决!!!