在cassandra DB中插入字典

法哈瓦

我有一个cassandra数据库,其键空间如下所示:

CREATE TABLE custumer_events_service.events(
    acceptFirstContactDuration decimal,
    currentTime timestamp,
    visitorIdentifier text,
    PRIMARY KEY (visitorIdentifier, currentTime)
) WITH CLUSTERING ORDER BY (currentTime DESC);

和python字典

{u'acceptFirstContactDuration': 0,
 u'currentTime': u'2016-02-18T11:51:55.468Z',
 u'12eca72928845aae26268f431b8c75b2564d7919c916e',}

有没有办法直接插入这个字典cassandra-driver我正在寻找像在mongodb中的东西

>>> import datetime
>>> post = {"author": "Mike",
...         "text": "My first blog post!",
...         "tags": ["mongodb", "python", "pymongo"],
...         "date": datetime.datetime.utcnow()}

>>> posts = db.posts
>>> post_id = posts.insert_one(post).inserted_id
迈克尔·格林

您可以手动构造一个CQL插入语句,以遍历字典中的键和值,但是acqlengine Model可能比a更适合使用dict,并且很容易Model用中的值填充a dict

您可以这样定义Model(用所有列扩展它):

class CustomerEventsServiceEvent(Model):
    __table_name__ = "customer_events_service.events"

    acceptFirstContactDuration = columns.Decimal()
    allSeenPageCount = columns.Decimal()
    callAcceptedCount = columns.Decimal()

如果d是您的字典变量的名称,则

event = CustomerEventsServiceEvent(**d)
event.save()

与您的MongoDB操作等效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章