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); } }) });