CouchbaseLite反向关系不起作用

CouchbaseLite反向关系不起作用,couchbase,couchbase-lite,Couchbase,Couchbase Lite,我试着把这件事拖得越久越好,但我真的被困在这里了 我正试图利用 基本上我的方案是这样的: class Album var artist: artist? class Artist @NSManaged var albums:NSArray? class func albumsInverseRelation() -> String { return "artist" } class func albumsItemClass() -> AnyClass { return Album.s

我试着把这件事拖得越久越好,但我真的被困在这里了

我正试图利用

基本上我的方案是这样的:

class Album
var artist: artist?

class Artist
@NSManaged var albums:NSArray?
class func albumsInverseRelation() -> String { return "artist" }
class func albumsItemClass() -> AnyClass { return Album.self }
然后稍后我尝试访问计算属性,
albums

bgdb.modelFactory?.registerClass("Album", forDocumentType: "Album")
bgdb.modelFactory?.registerClass("Artist", forDocumentType: "Artist")

if let artistID = artist?.document?.documentID, let fetchedArtist = try! Artist.fetchOne(field: "_id", operand: .Matches, value: artistID as AnyObject, database: bgdb) {
   print(fetchedArtist.albums as! [Album])
}
但是
fetchedArtist.albums
返回一个空数组

这就是为什么调试时我感到困惑的原因:

(lldb) po album?.artist?.document?.documentID
▿ Optional<String>
  - some : "-obO5dJTBF-xu4lzbWTM9yU"


(lldb) po fetchedArtist.document?.documentID
▿ Optional<String>
 - some : "-obO5dJTBF-xu4lzbWTM9yU"
(lldb)po相册?.artist?.document?.documentID
▿ 可选的
-一些:“-obO5dJTBF-xu4lzbWTM9yU”
(lldb)采购订单获取Artist.document?documentID
▿ 可选的
-一些:“-obO5dJTBF-xu4lzbWTM9yU”
正如它所显示的,有一个具有艺术家ID的相册 我还可以将该艺术家ID与现有艺术家匹配

但是,当我向
艺术家
实例询问它的
相册
时,它无法返回具有相同
艺术家
ID的相册

我错过了什么吗?

亲爱的宝贝

这是我一段时间以来最大的浪费

在我的代码中,我正在设置
artist
属性

albumInstance.artist=artistInstance

它设定了模型,一切看起来都很好

但我没打电话
albumInstance.save()

因此在运行时,我可以看到
albumInstance.artist
具有正确的文档ID,但如果没有
save()
,则反向关系无法工作

嗯。。。这样做可以修复一切