我想知道如何进行简单的Couchbase Lite查询。我有文件“测试”包括。 id = 5,名称=“我的第一个测试”。我想获取id(5),其中name =“我的第一个测试”。我还想知道如果该名称=“我的首次测试”条目已经可用,我将如何执行检查?我只想添加它(如果不存在)。谢谢!
Database db = new Database("test_db");
using (var testDoc = new MutableDocument("test"))
{
testDoc.SetInt("id", 5)
.SetString("name", "My first test");
db.Save(testDoc);
}
假设我对您的问题的理解是正确的,即仅当属性值存在时,您才想获取具有特定属性值的文档,您可以执行类似的操作
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查询基础知识的文档here。有几个示例。您可能还想查看NotNullOrMissing
上的API规范