Couchbase Lite 2.0预览版:无法访问Document内部构造函数问题
解决Couchbase Lite 2.0预览版#21中无法实例化Document的问题
嗨,我来帮你搞定这个问题!你遇到的报错核心原因是:在Couchbase Lite 2.0的这个开发者预览版里,Document的无参构造函数被设置成了内部访问权限,而官方预览版文档可能还没跟上API的变更(毕竟是预览阶段,文档和实现偶尔会有不同步的情况)。
下面给你两种正确创建Document对象的方式,按需选择:
1. 创建新文档(自动或自定义ID)
如果你要创建全新的文档,推荐通过Database实例来生成,或者使用带ID参数的公开构造函数:
var db = new Database("test"); // 方式一:让Couchbase自动生成唯一文档ID var autoIdDoc = db.CreateDocument(); // 方式二:手动指定自定义文档ID var customIdDoc = new Document("my-unique-doc-id");
2. 获取数据库中已存在的文档
如果是要操作数据库里已有的文档,直接用Database.GetDocument()方法:
var existingDoc = db.GetDocument("existing-doc-id-you-know");
另外补充一个小细节:创建完文档后,记得设置属性再保存到数据库,比如:
autoIdDoc.SetString("username", "Bruno"); autoIdDoc.SetInt("score", 95); db.Save(autoIdDoc);
官方把无参构造函数设为内部,其实是为了规范文档的创建流程——让文档和数据库实例绑定更紧密,避免出现游离的、未关联到数据库的文档对象。
内容的提问来源于stack exchange,提问作者Bruno Peres
相关产品推荐
相关产品推荐

