两个集合mongodb之间的关系
Relation between two collection mongodb
我的mongodb库中有两个集合:Category和Book
js 类别
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var categoryModel = new Schema({
catName: String,
menuKey: String
});
module.exports = mongoose.model('Category', categoryModel);
和书.js
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var bookModel = new Schema({
title: String,
author: String,
category: String ,
summary: String ,
cover: String ,
price: Number,
qte: Number,
});
module.exports = mongoose.model('book', bookModel);
可以添加:
var category=require('./category.js')
并重新包装这条线路:
类别:字符串,
通过
类别:[类别],
这里是满足您需求的解决方案。
//category.js
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var categoryModel = new Schema({
catName: String,
menuKey: String
});
module.exports = mongoose.model('Category', categoryModel);
//book.js
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var bookModel = new Schema({
title: String,
author: String,
category: [{ type: Schema.Types.ObjectId, ref: 'Category' }],
summary: String ,
cover: String ,
price: Number,
qte: Number,
});
module.exports = mongoose.model('book', bookModel);
category: {type: mongoose.Schema.Types.ObjectId, ref: 'Category'}
您不想这么做。要使用ref
关键字指示关系,可以使用该关键字引用另一个集合中的Schema.ObjectId
。
来自猫鼬的官方填充文档:
var mongoose = require('mongoose')
, Schema = mongoose.Schema
var personSchema = Schema({
_id : Number,
name : String,
age : Number,
stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});
var storySchema = Schema({
_creator : { type: Number, ref: 'Person' },
title : String,
fans : [{ type: Number, ref: 'Person' }]
});
var Story = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);
在您的案例中,您会有一个引用Category
的Book
模型。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 两个集合mongodb之间的关系
- MongoDB原生:toString和toHexString方法之间有什么区别吗?
- MongoDb和模块mongoDB之间的区别
- MongoDB 正则表达式找到两个单词,它们之间正好有 n 个或更少的单词
- 持久化对象之间的MongoDB原型继承
- 如何使用javascript、JSON、python和mongodb之间的日期时间
- 获取MongoDB中其他两个条目之间的所有条目
- 在MongoDb中找到两个集合之间的交集
- MongoDB中两个集合之间的Diff()
- 流星,MongoDB.从集合中获取数据的麻烦(查找两个日期之间的文档)
- 取mongoDB中相邻文档之间的差异
- MongoDB Shell脚本和JavaScript之间的差异
- 如何使用 mongodb 聚合框架比较两个日期之间的分组数据