收藏
回答

【已解决】如何一次查询N个集合内指定的数据?

请问如何实现将 user 集合下 记录_id为 okopenidopenidopenid 字段为 save1
中对应的值,全都转换为"真实数据" 并返给客户端? 
除了for,lookup还有什么别的方法吗?


//user集合 ,每个记录都是一个用户的数据
//每个save中都只记录了物品对应的id

{
  {
    //_id是用户openid
    _id: "okopenidopenidopenid",
    //保存位置1
    save1:{
      // sword集合下 _id为 8503f3385f114dea0014d2f972ae175a 的帕米尔弯刀
      sword: "8503f3385f114dea0014d2f972ae175a",
      // shield集合下 _id为 6dddb6b55f0d92d300325ac31f1c135e 的一个小圆盾
      shield: "6dddb6b55f0d92d300325ac31f1c135e"
      // 衣服
      // 裤子
      // 鞋子
      // 戒指
      // 耳环..以此类推
    },
    //保存位置2
    save2:{
      // sword集合下 _id为 7503f3385f115b2600154e3c7258252a 的火烈之剑
      sword: "7503f3385f115b2600154e3c7258252a",
    // shield集合下 _id为 6dddb6b55f0d92d300325ac31f1c135e 的一个小圆盾
    shield: "6dddb6b55f0d92d300325ac31f1c135e"
    // 衣服
    // 裤子
    // 鞋子
    // 戒指
    // 耳环..以此类推
   }
}


//sword集合 存放所有剑
{
  _id: "8503f3385f114dea0014d2f972ae175a",
  name: "帕米尔弯刀",
  .....一堆属性
},
{
  _id: "7503f3385f115b2600154e3c7258252a",
  name: "火烈之剑",
  .....一堆属性
}


//其他物品集合和 sword集合结构相同


可达鸭表示脑壳疼

---------------------------------------------------------------------------------------

解决方法

为了减少请求次数,和加载时间,大佬们都说可以将 sword 改成 对象!!!
于是在保存前,将原来的关联模式,改成了对象!!!
就可以解决我的问题!

{
    //_id是用户openid
    _id "okopenidopenidopenid",
    //保存位置1 新方案!
    save1: {
        // sword集合下 _id为 8503f3385f114dea0014d2f972ae175a 的帕米尔弯刀的数据
        sword: {
            _id"8503f3385f114dea0014d2f972ae175a",
            name"帕米尔弯刀",
            .....一堆属性
        },
        // shield集合下 _id为 6dddb6b55f0d92d300325ac31f1c135e 的一个小圆盾的数据
        shield: {
            _id"7503f3385f115b2600154e3c7258252a",
            name"火烈之剑",
            'other''一堆属性'
        },
    },
    //保存位置2 旧方案!
    save2: {
        // sword集合下 _id为 7503f3385f115b2600154e3c7258252a 的火烈之剑
        sword"7503f3385f115b2600154e3c7258252a",
        // shield集合下 _id为 6dddb6b55f0d92d300325ac31f1c135e 的一个小圆盾
        shield"6dddb6b55f0d92d300325ac31f1c135e"
        // 衣服
        // 裤子
        // 鞋子
        // 戒指
        // 耳环..以此类推
    }
}
最后一次编辑于  2020-09-23
回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容
问题标签