【发布时间】:2017-09-19 18:04:33
【问题描述】:
我在 Google 上搜索了一些示例和教程,但找不到任何明确的示例。
我从我的服务器收到这样的 JSON 响应:
var heroes = [
{
id: 5,
name: 'Batman',
realName: 'Bruce Wayne',
equipments: [
{
type: 'boomarang',
name: 'Batarang',
},
{
type: 'cloak',
name: 'Bat Cloak',
},
{
type: 'bolas',
name: 'Bat-Bolas',
}
]
},
{
id: 6,
name: 'Cat Woman',
realName: 'Selina Kyle',
equipments: [
{
type: 'car',
name: 'Cat-illac',
},
{
type: 'bolas',
name: 'Cat-Bolas',
}
]
}
];
我想查询例如:“获取装备类型为 bolas 的英雄” 它应该在一个数组中返回两个英雄对象。
我知道这是不对的,但我想做的是形成这样的地图功能:
function myMapFunction(doc) {
if(doc.equipments.length > 0) {
emit(doc.equipment.type);
}
}
db.query(myMapFunction, {
key: 'bolas',
include_docs: true
}).then(function(result) {
console.log(result);
}).catch(function(err) {
// handle errors
});
有可能吗?如果没有,我有什么选择?
P.S:我还检查了 LokiJS 和 underscoreDB。然而,PouchDB 看起来更复杂,并且能够进行此类查询。
提前谢谢大家
【问题讨论】:
标签: javascript pouchdb nosql