我刚开始使用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。谢谢。
答案 0 :(得分:1)
如果我理解正确,那么对于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");
})