@ Mongoose variable key name有类似的帖子。但是,他采用另一种方法而不是解决这个问题。另一种方法是我头衔的OR部分。
编辑 - 忽略这一部分,我现在正在使用替代方案。现在问题在于在别处引用孩子的对象ID。我有以下数组:
selections: [{
4433d18d31f3775756ac2a70: "542e91aa31f3775756abccda"},
{4433d18d31f3775756ac2a71: "542e916c31f3775756abccd8"},
{4433d18d31f3775756ac2a72: "542e934231f3775756abccdb"
}]
我的架构目前如下:
selections: {
<something>: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Selection'
}
}
到位<something>
,有没有办法基本上说“我不在乎这里有什么”?
另外,因为在搜索互联网后似乎不可能,我可以有以下架构:
selections: {
pid: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Competition.CHILD'
}
selection: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Selection'
}
}
但是这里的问题是在<something>
是模式竞争中的子模式的情况下使用的ObjectID,我无法找到对象ID的说法。
任何建议/帮助都会很棒。理想情况下,我更喜欢第一种解决方案,但我知道这可能是不可能的。谢谢!
答案 0 :(得分:1)
使用带有可选(但固定)键的对象数组:
selections: [{
selection: {type: ObjectId, ref: 'Selection'},
child: {type: ObjectId, ref: 'Competition.CHILD'}
}]
这将使您能够更好地进行查询,使用猫鼬群等等。