Javascript 如何使用nodejs中的mongoose使数组对象的ObjectId引用同一Mongo集合中的其他数组?
我正在处理一个用例,在这个用例中,我需要将一个数组对象的对象Id存储在另一个数组对象中,作为同一集合的引用。请考虑以下内容:Javascript 如何使用nodejs中的mongoose使数组对象的ObjectId引用同一Mongo集合中的其他数组?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我正在处理一个用例,在这个用例中,我需要将一个数组对象的对象Id存储在另一个数组对象中,作为同一集合的引用。请考虑以下内容: var mongoose = require("mongoose"); var schema = mongoose.Schema( { company : {type: mongoose.Schema.Types.ObjectId, ref: 'company', required: false}, timeline : [{
var mongoose = require("mongoose");
var schema = mongoose.Schema(
{
company : {type: mongoose.Schema.Types.ObjectId, ref: 'company', required: false},
timeline : [{
status_id : {type: mongoose.Schema.Types.ObjectId, ref: 'user_dropdowns', refquired: false},
message : {type: String, required: false},
time : {type: Date, default: Date.now(), required: false},
messagedBy : {type: mongoose.Schema.Types.ObjectId, ref: 'company_contacts', required: false}
}],
comments : [{
timeLineId:{type:mongoose.Schema.Types.ObjectId, ref: 'tickets.timeline', required: false},
comment: {type: String, required: false},
commentedBy : {type: mongoose.Schema.Types.ObjectId, ref: 'company_contacts', required: false},
commentedTime : {type: Date, required: false, default: Date.now()}
}]
},
{
versionKey: false,
timestamps: true
}
);
module.exports = mongoose.model("tickets", schema, "tickets");
在我的收藏中,根据我的要求,我需要在
评论
中存储时间线
的参考。可能吗?或者有其他选择吗?感谢您的任何帮助。谢谢 你好!要存储在comments
中的timeLineId
的值应该引用整个timeline
数组,对吗?是的,我要存储整个数组的ObjectId@嗯,我认为这种引用是不可能实现的。这是因为timeLineId
值是一个数组,它不在顶层存储_id或任何其他标识符属性。此外,注释和时间线数组都在同一个数据范围内,为什么要相互引用?从数据模式来看,每当您有注释时,您总是在进行获取时间线数据的操作,为什么还要对已经可用的数据进行额外的查询?我想根据时间线数据将注释分组到那里!要存储在comments
中的timeLineId
的值应该引用整个timeline
数组,对吗?是的,我要存储整个数组的ObjectId@嗯,我认为这种引用是不可能实现的。这是因为timeLineId
值是一个数组,它不在顶层存储_id或任何其他标识符属性。此外,注释和时间线数组都在同一个数据范围内,为什么要相互引用?从数据模式来看,每当您有注释时,您总是在进行获取时间线数据的操作,为什么还要对已经可用的数据进行额外的查询?我想根据时间线数据对注释进行分组