mongoose,不能从数据库打印产品

我在console.log或数据库中的res.json打印项目有问题。

我究竟做错了什么

var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/test'); var Schema = mongoose.Schema; var productSchema = new Schema({ title: String, price: Number }); var product = mongoose.model('product, productSchema'); mongoose.connect(db); var db = 'mongodb://localhost/product'; router.get('/books', function(req, res) { console.log('getting all products'); product.find({}) .exec(function(err, product) { if (err) { res.send('errror'); } else { console.log(product); res.json(product); } }) }); 

数据库产品的名称是: db.product谢谢

错误:C:\ Users \ Turqus \ Desktop \ node \ products \ node_modules \ mongoose \ lib \ index.js:382 throw new mongoose.Error.MissingSchemaError(name); ^ MongooseError:架构尚未注册模型“product,productSchema”。 在Mongoose.model(C:\ Users \ Turqus \ Desktop \ node \ products \ node_modules \ mongoose \ lib \ index.js:382:13)上使用mongoose.model(name,schema)

您必须首先进行数据库连接。

改变这一点

var product = mongoose.model('product, productSchema');

var product = mongoose.model('product', productSchema);

mongoose.model()接受两个参数:模型集合的名称和模式的第二个参数

 var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/test'); var Schema = mongoose.Schema; var productSchema = new Schema({ title: String, price: Number }); var product = mongoose.model('product', 'productSchema'); router.get('/books', function(req, res) { console.log('getting all products'); product.find({}) .exec(function(err, product) { if (err) { res.send('errror'); } else { console.log(product); res.json(product); } }) });