node.js - Mongoose 直接填充创建子文档
问题描述
我有两个猫鼬模式,
模式 A:
{
field1 : { type : [String] }
}
模式 B:
{
field2 : { type : ObjectId, ref : 'A' }
}
我想以得到以下结果的方式填充猫鼬:
{
field2 : field1 of a documnet from A
}
或者
{
field2 : document of A,
field1 : field1 field of document A
}
例子:
A 中的文档 { _id : 1 field1 : ["1","2","3"] }
B 中的文件
{
_id : 2
field2 : 1
}
在我填充后,我希望结果是
{
_id : 2
field2 : ["1","2","3"]
}
或者
{
_id : 2
field2 : {_id : 1 , field1 : ["1","2","3"]}
field1 : ["1","2","3"]
}
两者中的任何一个都将不胜感激。
解决方案
这可以使用猫鼬中的虚拟字段来实现。
首先 populate('field2') 然后创建一个虚拟字段 field1 并将其设置为 field2.field1
推荐阅读
- flutter - 如何减少颤动中小部件之间的空间
- css - Angular - 将样式添加到 shadow-root 内的类
- flutter - Flutter:如何在按下时动态更改/切换按钮的文本/名称?
- php - 带有自由文本的选择选项的 PHP 旧值
- c - 计算 MDA-8086 上 7 段 LED 的十六进制值
- java - 以异步方式执行代码
- mongodb - MongoDB:使用 $lookup localField 删除数组中的字段
- java - 从列表中删除重复项并将另一个重复项移到列表顶部
- jquery - 如何使 div 漂浮在右侧并堆叠在一起
- react-native - react-native-sound 音频文件未在 iOS 13 中播放