这是我的行的样子:
{"id": x ,
"data": [
{
"someId": 1 ,
"url": https://twitter.com/HillaryClinton?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor, »
} ,
{
"someId": 2 ,
"url": http://nymag.com/daily/intelligencer/2016/05/hillary-clinton-candidacy.html, »
} ,
]}
我在 data.url 上创建了二级索引,因此检索文档很容易,但是如何最有效地更新那个特定的嵌套对象?
我可能正在向它添加新键或只是更新现有键(下面示例中的 newField、anotherField)。
最终结果应如下所示:
"data": [
{
"someId": 1 ,
"url": https://twitter.com/HillaryClinton?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor,
"newField": 5,
"anotherField": 12
}
...
编辑:让它像这样工作(python):
a = r.db("lovli").table("KeyO").get_all("https://www.hillaryclinton.com/", index= "url").update(
lambda doc:
{"data": doc['data'].map(lambda singleData:
r.branch(
singleData['url'] == "https://www.hillaryclinton.com/",
singleData.merge({"status_tweet":3, "pda": 1}),
singleData
)
)
}
).run(conn)
这可以改进吗?另外,我将同时更新很多网址......无论如何通过批量执行此操作来进一步提高性能?