【发布时间】:2022-01-08 15:57:04
【问题描述】:
我有 2 张地图,分别名为 favorite 和 recommend。基本上,favorite 和recommend 都包含一个映射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
提前谢谢你!
【问题讨论】:
-
您能显示
test、test2和uid的值吗?我使用了您的代码,它可以满足您的需求。 -
当然,uid 只是我设置的文档 ID,即 str('1000')。对于
test和test2,我将分别在我的帖子中更新movie.txt和movie2.txt -
对不起,这是我愚蠢的错误。在创建 2 个列表 test 和 test2 时,我不小心忘记为 test2 输入
2,所以我将 20 个样本附加到test。结果是test2有 0 个样本,test有 20 -
我会尽快删除这个。非常感谢@orby!
标签: python firebase google-cloud-firestore