gpt4 book ai didi

python - 如何使用 Python CouchDb 库创建或保存方法将现有属性用作 doc_id?

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:32 24 4
gpt4 key购买 nike

背景 - 我正在 CouchDb 中存储一些推文,我想通过使用 Twitter Id 作为 CouchDb 文档 ID 来轻松防止存储重复的推文。

我正在使用 Python 脚本使用 python-twitter 库从 Twitter 中提取一些推文,该库返回一个对象集合,每个对象都包含唯一的 Twitter 推文 ID 作为属性 (twitter.Status.id)。在将推文保存到 CouchDb 时,我想将其用作 CouchDb 文档 ID。

>>> import twitter
>>> api = twitter.Api()
>>> statuses = api.GetSearch('xyz')
>>> s = statuses[0] # save just the first one for now

>>> import couchdb
>>> couch = couchdb.Server()
>>> dbcouch = couch['tweets']
>>> dbcouch.save(s.AsDict())
(u'fd55e5944267266892f076891a3d9ac4', u'1-4a50a618afd4dc68373155b1ad3e96a1')

CouchDb 设置了唯一的Id,这不是我想要的。该文档有从头开始构建文档时设置手动文档 ID 的示例,但在这种情况下(对象交给我的地方)我似乎无法使其工作。

最佳答案

在将状态保存到沙发之前,您需要在状态中获取一个 "_id" 字段。例如(我的 Python 生锈了)

>>> s = statuses[0] # save just the first one for now
>>> tweet = s.AsDict()
>>> tweet["_id"] = "%d" % tweet["id"]

>>> # (Couch stuff same as before)
>>> dbcouch.save(tweet)

它是如何工作的?

关于python - 如何使用 Python CouchDb 库创建或保存方法将现有属性用作 doc_id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9282791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com