我正在尝试在我的项目中使用领域数据库。这里是模式:
export const AllParentObj = {
name:"AllParentObj",
properties:{
AllObjects:"OneChildObj[]"
}
}
export const OneChildObj = {
name:"OneChildObj",
properties:{
chKey:"string",
chItems:"subChild[]"
}
};
export const subChild = {
name:"subChild",
properties:{
subChName:"string",
subChMsg:"string"
}
};
这是我尝试从领域读取的方式:
let myCode = "langid1";
let myid="xyz";
let allObjs = this.DBRealm.objects('AllParentObj').
filtered(`AllObjs.chkey== '${myCode}' AND \
AllObjs.chItems.subChName== '${myid}'`);
上述查询返回查询AllObjs.chkey== '${myCode}'
的所有结果
不采用其他条件进行过滤。我在上面的代码中有什么地方做错了吗?
我希望过滤器的输出成为给定语言代码中的匹配页面。 例如: 我的领域数据库中的示例输入json:
{
"AllMessages":[
{
locale:"langid1",
pages:[
{
"pageName":"pagename",
"messages":
{
"ml1p1m1":"msgText",
"ml1p1m2":"ml1 m2text"
}
},
{
"pageName":"xyz",
"messages":
{
"ml1p2m1":"ml1p2m1 text",
"ml1p2m2":"ml1p2m2 text"
}
},
{
"pageName":"rtyui",
"messages":
{
"ml1p2m1":"ml1p3m1 text",
"ml1p2m2":"ml1p3m2 text"
}
},
]
},
{
locale:"langid2",
pages:[
{
"pageName":"abcd",
"messages":{
"ml2p1m1":"ml2p1m1 text",
"ml2p1m2":"ml2p1m2 text"
}
},
{
"pageName":"hjk",
"messages":{
"ml2p2m1":"ml2p2m1"
}
},
]
},
]
}
langid1和pageName的输出::xyz
{
"pageName":"xyz",
"messages":
{
"ml1p2m1":"ml1p2m1 text",
"ml1p2m2":"ml1p2m2 text"
}
}
有人可以帮忙吗? PS:没有语法错误。基本上没有应用多个过滤器。当我甚至在subChild级别上应用单个过滤器时,它的工作原理。