【问题标题】:add 2 different maps to Firestore将 2 个不同的地图添加到 Firestore
【发布时间】:2022-01-08 15:57:04
【问题描述】:

我有 2 张地图,分别名为 favoriterecommend。基本上,favoriterecommend 都包含一个映射movie_ID: rating。这就是我想要的。

这是我的代码:

def writeFavorite(dta, uid):
    user = db.collection('user').document(uid)
    for i in dta:
        row = {
            'favorite': {i['movie_id']: i['rating']}
        }
        user.set(row, merge=True)


def writeRecommend(dta, uid):
    user = db.collection('user').document(uid)
    for i in dta:
        row = {
            'recommend': {i['movie_id']: i['rating']}
        }
        user.set(row, merge=True)


writeRecommend(test, uid)
writeFavorite(test2, uid)

结果如下: 我有 2 个测试列表,每个包含 10 个{movie_id: rating}。但是,当我运行上面的代码时,不是像我想要的那样创建 2 个地图,而是如何将 2 个地图连接在一起,它会创建空的 favorite 和 20 个样本 recommend

提前谢谢你!

【问题讨论】:

  • 您能显示testtest2uid 的值吗?我使用了您的代码,它可以满足您的需求。
  • 当然,uid 只是我设置的文档 ID,即 str('1000')。对于testtest2,我将分别在我的帖子中更新movie.txtmovie2.txt
  • 对不起,这是我愚蠢的错误。在创建 2 个列表 test 和 test2 时,我不小心忘记为 test2 输入 2,所以我将 20 个样本附加到 test。结果是 test2 有 0 个样本,test 有 20
  • 我会尽快删除这个。非常感谢@orby!

标签: python firebase google-cloud-firestore


【解决方案1】:

正如 An.on 所述,该问题已通过简单的更正得到解决:

在创建 2 个列表 test 和 test2 时,他不小心忘记输入 2 用于测试 2,因此他附加 20 个样本进行测试。结果是test2 有 0 个样本,测试有 20 个

更多信息可以参考documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 2017-11-24
    • 2020-05-15
    • 2020-08-09
    • 2019-11-17
    • 1970-01-01
    相关资源
    最近更新 更多