问题描述
我正试图提出一个适当的联接查询,以将以下文档联接在一起(人为但有用),但我什至不知道从哪里开始。
由于official documentation似乎已经过时({is(roleName) {
let roles = roleName.split('|')
return roles.forEach(role => {
return this.$page.auth.user.roles.includes(role)
})
}
甚至不存在),因此很快就无法使用它了。
沙发床mobile documentation的流行一些,但我仍在努力使其正面或反面。它不会使用c# API将1转换为1。
我要加入的文档与此类似
IFunction
目标是投射一个复杂的C#对象
/*school.json*/
{
"Name": "Harvard","Teachers": [
{
"HireDate": "1-1-2020","SchoolId": "qwerty","TeacherDocumentId": "Teacher::1234"
},{
"HireDate": "1-1-2019","SchoolId": "zxcvb","TeacherDocumentId": "Teacher::1235"
}
]
}
/*teacher.json*/
{
"Id":"Teacher::1234","Name": "Peggy Sue","TeacherDetailDocumentId":"TeacherDetail::9876"
}
/*teacher.json*/
{
"Id":"Teacher::1235","Name": "William Jackson","TeacherDetailDocumentId":"TeacherDetail::9875"
}
/*teacherdetail.json*/
{
"Id":"TeacherDetail::9876","CourseLoad":1
}
/*teacherdetail.json*/
{
"Id":"TeacherDetail::9875","CourseLoad":3
}
类似于以下复杂的json
public class School
{
public string Name {get;set;}
public IEnumerable<SchoolTeacher> Teachers {get;set;}
}
public class SchoolTeacher
{
public DateTime HireDate { get; set;}
public string SchoolId { get; set;}
public string TeacherDocumentId { get; set; }
public Teacher Teacher { get; set; }
}
public class Teacher
{
public string Id { get; set; }
public string Name { get; set; }
public string TeacherDetailDocumentId { get; set; }
public TeacherDetail TeacherDetail { get; set; }
}
public class TeacherDetail
{
public string Id { get; set; }
public int CourseLoad { get; set; }
}
解决方法
与当前的Couchbase Lite查询API一样,您将需要进行多个查询才能获取学校教师列表中每位教师的信息。如果您不需要一次构建整个JSON,这可能会导致性能和内存问题,具体取决于教师人数,则可以将查询细分为多个级别,并在访问特定数据时根据需要查询它们。 / p>
例如,访问School.Teachers属性时,您可以先查询SchoolTeacher列表,但不提供详细信息。访问SchoolTeacher.teacher后,您可以再次查询以获取老师的详细信息。