mongoose 实现DBRef查找所有子类信息
来源:互联网 发布:2017年网络新项目 编辑:程序博客网 时间:2024/06/16 21:15
产品表
var Mongoose = require('mongoose');var Schema = Mongoose.Schema;var Product = new Schema({ image : { type : String }, description : { type : String }, price : { type : Number, require : true }, probability : { type : Number, require : true }, status :{ type : Number, require : true, default : 1 }, categoryId:{ type:String, require:true }, name : { type :String, require : true }},{ _id : true, autoIndex : true});module.exports = Mongoose.model('Product',Product);
产品分类表
var Mongoose = require('mongoose');var Schema = Mongoose.Schema;var Category = new Schema({ child : [{ type : Schema.Types.ObjectId, ref : 'Product' }], name : { type : String, require : true }, description : { type : String, require : true }, image : { type : String, require : true }},{ _id : true, autoIndex : true});module.exports = Mongoose.model('Category',Category);
我们在每添加一个商品的时候把该商品的id插入category中
var product = new Product({ name : '侏罗纪咖啡', image : '/3.jpg', descript : '还算可以', price : 50.00, probability : 100, status : 1, categoryId : "552f76bd3e0b2dfca7989da3" }) product.save(function(err){ if(err){ console.log(err); }else{ Category.find({_id:"552f76bd3e0b2dfca7989da3"},function(err,result){ result[0].child.push(product._id); result[0].save(function(err){ console.log('ok!') }) }) } })
在查找一个分类信息时同时找到它对应的多有商品的信息
Category.find().populate('child').exec().then(function(result){ console.log(result); })
我们来看下输出结果:
[ { _id: 552f76bd3e0b2dfca7989da3, image: '/1.jpg', description: '我们的咖啡来自巴西,安全无公害,干吃,泡着吃都行', name: '咖啡', __v: 7, child: [ { _id: 552f76a9b396a1e8651bba8d, status: 1 }, { _id: 552f76ff61d8370ba8490ceb, name: '暴龙咖啡', image: '/1.jpg', price: 20, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 }, { _id: 552f773a12831318a8d51ce4, name: '剑齿龙咖啡', image: '/2.jpg', price: 15, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 }, { _id: 552f776a87443f28a8e66931, name: '霸王龙咖啡', image: '/3.jpg', price: 15, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 }, { _id: 552f777f87443f28a8e66932, name: '霸王龙咖啡', image: '/3.jpg', price: 15, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 }, { _id: 552f77846a87b934a8a45cfa, name: '翼龙咖啡', image: '/3.jpg', price: 25, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 }, { _id: 552f779cad597a3fa8365f63, name: '小鸡咖啡', image: '/3.jpg', price: 250, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 }, { _id: 552f77ac294f5d4ba8006b27, name: '侏罗纪咖啡', image: '/3.jpg', price: 50, probability: 100, categoryId: '552f76bd3e0b2dfca7989da3', __v: 0, status: 1 } ] } ]
0 0
- mongoose 实现DBRef查找所有子类信息
- 查找所有的数据库信息
- 利用DBREF实现MongoDB的引用("外键")
- mongodb 多表关联的实现和DBRef理解,
- 序列化必须所有子类都要实现序列化
- Java中如何获得所有实现该接口的子类
- 深入浅出mongoose-----包括mongoose基本所有操作,非常实用!!!!!
- 在Oracle库中查找所有表的相关信息
- @DBRef---------------springMVC
- 枚举方法查找子类
- mongoose查找mongodb数据库(三)
- log4j实现自动打印所有异常信息
- mongoose实现权限查询控制
- mongoose
- mongoose
- Mongoose
- Mongoose
- mongoose
- 编程之美3.3——类似——两个字符串的最长公共子序列(LCS)
- 【树形dp】Codeforces 238C World Eater Brothers
- zoj 3601 Unrequited Love(STL,灵活题)
- Python学习笔记
- 二叉查找树
- mongoose 实现DBRef查找所有子类信息
- 学习使用Git和远程代码库,已亲自试用,非常好
- 走进微信的神奇世界--数据的发送和接收
- 数字图像处理的研究方法
- MFC 定时器OnTimer的使用|string转为LPCTSTR的乱码问题
- Android Activity的生命周期
- 【线段树】Codeforces 437B The Child and Set
- IOS自动布局的一些使用
- awk操作