C# 如何为Couchbase Lite创建复杂的连接查询

C# 如何为Couchbase Lite创建复杂的连接查询,c#,join,couchbase-lite,C#,Join,Couchbase Lite,我正试图提出一个合适的连接查询,将以下文档连接在一起,这是精心设计但很有用的,但我甚至不知道从哪里开始 如果这个函数根本不存在的话,它看起来已经过时了 couchbase有点流行,但我仍然在努力使其正面或反面。它不会使用api将1转换为1 我试图加入的文档与此类似 /*school.json*/ { 姓名:哈佛大学, 教师:[ { 雇佣日期:2020年1月1日, 学号:qwerty, 教师文档ID:教师::1234 }, { 雇佣日期:2019年1月1日, 学号:zxcvb,, 教师文档ID:教

我正试图提出一个合适的连接查询,将以下文档连接在一起,这是精心设计但很有用的,但我甚至不知道从哪里开始

如果这个函数根本不存在的话,它看起来已经过时了

couchbase有点流行,但我仍然在努力使其正面或反面。它不会使用api将1转换为1

我试图加入的文档与此类似

/*school.json*/ { 姓名:哈佛大学, 教师:[ { 雇佣日期:2020年1月1日, 学号:qwerty, 教师文档ID:教师::1234 }, { 雇佣日期:2019年1月1日, 学号:zxcvb,, 教师文档ID:教师::1235 } ] } /*teacher.json*/ { Id:老师:1234, 姓名:Peggy Sue, TeacherDetailDocumentId:TeacherDetail::9876 } /*teacher.json*/ { Id:老师:1235, 姓名:威廉·杰克逊, TeacherDetailDocumentId:TeacherDetail::9875 } /*teacherdetail.json*/ { Id:TeacherDetail::9876, 课程大纲:1 } /*teacherdetail.json*/ { Id:TeacherDetail::9875, 课程长度:3 } 目标是投影一个复杂的C对象

公立学校 { 公共字符串名称{get;set;} 公共IEnumerable教师{get;set;} } 公立班教师 { 公共日期时间HireDate{get;set;} 公共字符串SchoolId{get;set;} 公共字符串TeacherDocumentId{get;set;} 公共教师{get;set;} } 公共班主任 { 公共字符串Id{get;set;} 公共字符串名称{get;set;} 公共字符串TeacherDetailDocumentId{get;set;} 公共教师详细信息教师详细信息{get;set;} } 公共课教师详情 { 公共字符串Id{get;set;} 公共int CourseLoad{get;set;} } 这类似于下面的复杂json

{ 姓名:哈佛大学, 教师:[ { 雇佣日期:2020年1月1日, 学号:qwerty, TeacherDocumentId:Teacher::1234, 老师:{ Id:老师:1234, 姓名:Peggy Sue, TeacherDetailDocumentId:TeacherDetail::9876, 教师详情:{ Id:TeacherDetail::9876, 课程大纲:1 } } }, { 雇佣日期:2019年1月1日, 学号:zxcvb,, TeacherDocumentId:Teacher::1235, 老师:{ Id:老师:1235, 姓名:威廉·杰克逊, TeacherDetailDocumentId:TeacherDetail::9875, 教师详情:{ Id:TeacherDetail::9875, 课程长度:3 } } } ] }
与当前的Couchbase Lite查询API一样,您需要有多个查询来获取学校教师数组中每个教师的信息。如果您不需要一次构建整个JSON,这可能会导致性能和内存问题,具体取决于教师的数量,那么您可以将查询分解为多个级别,并在访问特定数据时根据需要进行查询


例如,当访问School.Teachers属性时,您可以首先查询SchoolTeacher列表,而不查询详细信息。当访问schooltheer.teacher时,您可以再次查询以获取教师的详细信息。

与当前的Couchbase Lite查询API一样,您需要进行多个查询才能获取学校教师数组中每个教师的信息。如果您不需要一次构建整个JSON,这可能会导致性能和内存问题,具体取决于教师的数量,那么您可以将查询分解为多个级别,并在访问特定数据时根据需要进行查询


例如,当访问School.Teachers属性时,您可以首先查询SchoolTeacher列表,而不查询详细信息。当访问SchoolTeacher.teacher时,您可以再次查询以获取教师的详细信息。

是的,api似乎不具备直接从db连接这些文档所需的功能。是的,api似乎不具备直接从db连接这些文档所需的功能。