python - 当我在 couchbase 集合之间移动文档时,如何添加移动时间?

标签 python database nosql couchbase sql++

我收集了一些文件。有时我需要将某些文档移动到另一个集合(也称为存档),并且我还需要为其添加存档时间。现在我在两个查询中执行此操作,但希望减少到一个。

由于缺乏NoSQL经验,我很难做出任何假设,所以我寻求帮助。

query = f"""INSERT INTO bucket.scope.second_collection (KEY key_id, VALUE document)
            SELECT META(doc).id AS key_id, doc AS document
            FROM bucket.scope.first_collection AS doc
            WHERE id = {};"""
cluster.query(query, QueryOptions(positional_parameters=[]))

time = datetime.now(tz)
query = f"""UPDATE bucket.scope.second_collection
            SET date_of_moving = "{time}"
            WHERE id = "{}";"""
cluster.query(query, QueryOptions(positional_parameters=[]))

最佳答案

您可以使用OBJECT_ADD()向现有 JSON 对象添加其他字段。

我不是 Python 开发人员,所以如果我遇到一些语法错误,请原谅,但这里有一个 OBJECT_ADD 的示例:

query = f"""INSERT INTO bucket.scope.second_collection (KEY key_id, VALUE document)
            SELECT META(doc).id AS key_id, OBJECT_ADD(doc, ""date_of_moving"", {time}) AS document
            FROM bucket.scope.first_collection AS doc
            WHERE id = {};"""

关于python - 当我在 couchbase 集合之间移动文档时,如何添加移动时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70978159/

相关文章:

python - 嵌套字典到 MultiIndex pandas DataFrame(3 级)

python - 如何使用 webbrowser 模块在 python 3 中打开网站但在后台?

mysql - 将导航图点存储在数据库中

database - 我如何使用 ELKI 中的索引结构?

elasticsearch - 为长时间运行的更新查询获取 Elasticsearch 任务的状态

javascript - CouchDB 和 Cloudant 安全

python - 使用 Python3(通过 Homebrew 安装)支持编译 vim?

python - 使用python将字符附加到txt文件中的每一行

java - 刷新 ListView 数据库

针对现有 View 的 Couchbase N1QL 查询