首页 > 解决方案 > 如何执行简单的 Couchbase Lite 查询

问题描述

我想知道如何进行一些简单的 CouchbaseLite 查询。

我有一个名为 的文档"test",其中包含键值"id": 5"name":"My first test".

我想搜索以下内容:

Database db = new Database("test_db");

using (var testDoc = new MutableDocument("test"))
{
      testDoc.SetInt("id", 5)
             .SetString("name", "My first test");

      db.Save(testDoc);
}

谢谢!

标签: c#couchbase-lite

解决方案


假设我正确理解了您的问题,即您只想获取具有特定属性值的文档(仅当它存在时),您可以执行以下操作

 var query = QueryBuilder.Select(SelectResult.expression(Meta.id),
                SelectResult.expression(Expression.property("id")))
    .From(DataSource.Database(db))
.Where(Expression.Property("name").NotNullOrMissing()
.And(Expression.Property("name").EqualTo(Expression.string("My first test"))))

或者,如果您知道文档的 ID,则使用该 ID 执行GetDocument会更快。获得文档后,对 name 属性执行GetString。如果它返回 null,您可以假设它不存在。

请参阅此处有关 Couchbase Lite 查询基础的文档。这里有几个示例。您可能还想查看NotNullOrMissing上的 API 规范


推荐阅读