1
var CarSchema = new Schema({
name: {type: String},
partIds: [{type: Schema.Types.ObjectId, ref: 'Part'}],
});
var PartSchema = new Schema({
name: {type: String},
props: [
{ colour: {type: String}, shape: {type:String} }
],
});
Car = {
name: "BMW",
partIds:[ObjectId("57baa43e152654f80aac36a6")]}
Part = {
_id: ObjectId("57baa43e152654f80aac36a6"),
name: "Piston",
props: [{colour:"red", shape: "Cubical"},{colour:"green", shape: "cylindrical"}]
所以,当我询问我应该得到这样的文档:
Car = {
name: "BMW",
partIds: [{
_id:ObjectId("57baa43e152654f80aac36a6"), name:"Piston", props: [{colour:"red", shape:"cubical"}]
}
道具阵列应该只有元素颜色为红色
我想用部件数组填充汽车,使其prop数组只有对象具有colo你的红色。有没有办法做到这一点,或者我将不得不采取老式的方式,并通过道具阵列使其颜色与红色相匹配。
你已经有'零件'集合?或者你创建它并将它的ID存储在'car'集合中? –
零件集合是不同的,它的ID存储在汽车集合的partIds –
,所以如果颜色是红色的,你想创建'part'文件并将它的id存储在'car'集合中? –