我刚开始使用RethinkDB,我喜欢它。我已经成功地得到了这个命令在json数据上工作:
r.db("test").table("gleif").filter({"lei:LEIRecord": {
"lei:Entity": {
"lei:HeadquartersAddress": {
"lei:City": "Toronto"
}
}
}
}).pluck({"lei:LEIRecord": {"lei:Entity": "lei:LegalName"}})
但是它以json方式返回数据。我想使用[]运算符来简化查询,看看它返回什么类型的数据。然而,我似乎无法使[]操作符工作。我相信您可以阅读它,但我正在过滤多伦多城市,但只希望返回LegalName。谢谢你。
如果我没理解错的话,对于doc
{id: "toront",
"lei:LEIRecord": {
"lei:Entity": {
"lei:LegalName": "TorontoTest",
"lei:HeadquartersAddress": {
"lei:City": "Toronto"
}
}
}
}
使用你想要的查询而不是这个
[{"id": "toront" ,
"lei:LEIRecord": {
"lei:Entity": {
"lei:HeadquartersAddress": {
"lei:City": "Toronto"
} ,
"lei:LegalName": "TorontoTest"
}
}
}]
像这样获取"lei:LegalName":
[{"lei:LegalName":"TorontoTest"}]
如果是,则可以使用map:
r.db("test").table("gleif").filter(
{"lei:LEIRecord": {
"lei:Entity": {
"lei:HeadquartersAddress": {
"lei:City": "Toronto"
}
}
}
}).map(function(doc){
return {"lei:LegalName": doc("lei:LEIRecord")("lei:Entity")("lei:LegalName")};
})
如果你只想要一个数组的名字,像这样:
["TorontoTest"]
你可以使用这个查询:
r.db("test").table("gleif").filter(
{"lei:LEIRecord": {
"lei:Entity": {
"lei:HeadquartersAddress": {
"lei:City": "Toronto"
}
}
}
}).map(function(doc){
return doc("lei:LEIRecord")("lei:Entity")("lei:LegalName");
})