收藏
回答

小程序云开发 数据库,字段嵌套数据怎么查询和更新?

如图:


请问大佬们,怎样可以根据 订单时间 和订单状态,查出/更新 该订单的数据

回答关注问题邀请回答
收藏

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2020-05-20

    一开始就错了,数据库设计不合理

    订单集合,_id不应该是user_xxx呀,应该是订单的id

    _id, uid, state, money, dateline
    _id: 订单id,使用系统自动生成 或者 自己维护(自增)
    uid: 用户id,
    state: 订单状态,
    money: 订单金额,
    dateline: 下单时间戳,如1589948848512
    


    order集合记录了所有用户的订单

    order(_id, uid, state, money, dateline)
    ​
    查询某个用户uid的所有订单记录
    db.collection('order').where({ uid: 'xxxxx' }).get()
    ​
    查询某个用户uid 订单状态为 1 的所有订单记录
    db.collection('order').where({ uid: 'xxxxx', state: 1 }).get()
    
    查询某个用户uid 订单状态为 1 、时间为2020-05-20的所有订单记录
    db.collection('order').where({
      uid: 'xxxxx',
      state: 1,
      dateline: new Date('2020-05-20').valueOf()
    }).get()
    

    若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人

    2020-05-20
    有用 2
    回复 28
    • Null
      Null
      2020-05-20
      不懂这种数据库,我都是按关系型数据设计的。那应该是怎样设计呢
      2020-05-20
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-05-20回复Null
      订单集合,_id不应该是user_xxx呀,应该是订单的id
      _id, uid, state, money, dateline
      _id: 订单id,使用系统自动生成 或者 自己维护(自增)
      uid: 用户id,
      state: 订单状态,
      money: 订单金额,
      dateline: 下单时间戳,如1589948848512
      2020-05-20
      回复
    • Null
      Null
      2020-05-20回复o0o有脾气的酸奶
      一个用户占用一个集合来放这个用户的全部订单??
      2020-05-20
      1
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2020-05-20
      自己看上面吧
      2020-05-20
      回复
    • Null
      Null
      2020-05-20回复o0o有脾气的酸奶
      同时指定订单id和用户id和订单信息,又怎么查询呢
      2020-05-20
      回复
    查看更多(23)
  • li
    li
    2020-07-23

    每一个订单都是一个集合 这样查会把所有数据都查出来的

    2020-07-23
    有用
    回复
登录 后发表内容
问题标签