在TaffyDB中使用变量名作为列名

时间:2013-09-04 07:06:04

标签: javascript database web taffydb

我是taffydb的新手,在尝试查询数据库时面临以下问题。我的db有一个名为TYPE的列。我试图获得TYPE等于“是”的所有记录。

这一行给出了正确的结果:

var records = database({ "TYPE": { "===": "Yes" } });

但是,如果我尝试将这些值作为参数传递,则找不到记录。

例如。

var column= "TYPE";
var operator = "===";
var value = "Yes" ;
var records = database({ column: { operator: value } });

简单地说,我需要将这些值作为方法参数传递,而不是以硬编码方式传递。完成这项工作的正确方法应该是什么?

1 个答案:

答案 0 :(得分:3)

您需要将对象视为数组,以便让它查看相应的数据

http://jsfiddle.net/Darksbane/kjCtY/

var products = TAFFY([{
  "item":1,
    "name":"Blue Ray Player",
    "price":99.99,
    "type":"No"
}, {
    "item":2,
    name:"3D TV",
    price:1799.99,
    "type":"Yes"
}]);

var column= "type";
var operator = "===";
var value = "Yes" ;
var object = {};
object[column]={};
object[column][operator]=value;
console.log(object);
var records = products(object).get();
console.log(records);
$('#myul').append('<li>'+records[0].name+'</li>');
相关问题