gpt4 book ai didi

android - Couchbase 精简版 : reading document vs querying data

转载 作者:行者123 更新时间:2023-11-29 01:08:44 25 4
gpt4 key购买 nike

我正在将一个 Android 项目切换为使用 Couchbase Lite,但我对从数据库中获取数据的方式感到困惑。

我有一个文档,它只包含一个属性:

Map<String, Object> properties = new HashMap<String, Object>();
properties.put("data_key", json);
Document document = database.getDocument("data_doc_id");
document.putProperties(properties);

我的下一步是从数据库中获取存储的数据。我找到了两种方法:

  1. 第一种方法是 reading the document

    Document doc = database.getDocument("data_doc_id");
    String json = (String) doc.getProperty("data_key");
  2. 第二个是querying

    View view = database.getView("data_json");
    view.setMap(new Mapper() {

    @Override
    public void map(Map<String, Object> document, Emitter emitter) {
    if ("data_doc_id".equals(document.get("_id")) {
    String json = (String) doc.getProperty("data_key");
    emitter.emit("data_key", json);
    }
    }
    }, "1.0");
    QueryEnumerator queryEnumerator = view.createQuery().run();
    String dataJson = "";

    for (QueryRow queryRow : run) {
    if ("data_key".equals(queryRow.getKey()) {
    json = (String) queryRow.getValue();
    }
    }

使用第一种方式获取存储的JSON是否可以?

在什么情况下应该使用第二种方法?它的代码比第一个多得多,也许它与缓存或/和速度/性能有关?这种方法的优缺点是什么?

最佳答案

第一种方法是直接检索文档。这是最快的方法。

但是,对于数据库,您通常希望根据数据的某些特征检索文档。为此,您希望能够创建有关数据的查询。这就是第二种方法的用途。

关于android - Couchbase 精简版 : reading document vs querying data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44987587/

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