猫鼬直接填充创建子文档

时间:2018-06-25 14:18:13

标签: node.js mongodb mongoose mongoose-schema mongoose-populate

我有两个猫鼬模式,

模式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         栏位1:[“ 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"]
}

这两个中的任何一个都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

这可以通过使用猫鼬中的重要字段来实现。

第一个填充('field2') 然后创建一个虚拟字段field1并将其设置为等于field2.field1