代码之家  ›  专栏  ›  技术社区  ›  pr0p

Mongoose直接填充创建子文档

  •  1
  • pr0p  · 技术社区  · 6 年前

    我有两个蒙古斯模式,

    架构A:

    {
        field1 : { type : [String] }
    
    }
    

    架构B:

    {
        field2 : { type : ObjectId, ref : 'A' }
    }
    

    我想以这样一种方式填充mongoose,得到以下结果:

    {
        field2 : field1 of a documnet from A 
    }
    

    {
        field2 : document of A,
        field1 : field1 field of document A
    }
    

    例子:

    A中的文档 { _编号: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 回复  |  直到 6 年前
        1
  •  1
  •   pr0p    6 年前

    这可以通过蒙古人的卵田来实现。

    首先填充(“field2”) 然后创建一个虚拟字段field1并将其设置为field2.field1