我是第一次使用 TAFFY。我想将新数据插入到已经包含一些数据的列中,我想将新数据附加到列中。怎么做,可以用 db.merge() 做到这一点吗?
提前致谢。
您可以只使用 .update(),不是吗?
var info = TAFFY([
{id:1, name:"John Smith"},
{id:2, name:"Matt Anderson"}
]);
info({id:1}).update({name:"Jane Smith"});
如果要使用合并,只需将最后一行替换为如下内容:
info.merge({id:1, name:"Jane Smith"}, "id", false);
如果您想在自己的计算机上尝试,必须test.html
在您的桌面上创建一个名为的文件。也下载taffy.js
到您的桌面上。
测试.html
<html>
<head>
<script type="text/javascript" src="taffy.js"></script>
<script>
var info = TAFFY([
{id:1, name:"John Smith"},
{id:2, name:"Matt Anderson"}
]);
//info({id:1}).update({name:"Jane Smith"});
info.merge({id:1, name:"Jane Smith"}, "id", false);
alert(info({id:1}).first().name);
</script>
</head>
<body>
</body>
</html>
在您的浏览器中,打开 test.html。您应该会看到 Jane Smith 出现在警报窗口中。如果您注释掉 info.update 或 info.merge,就会出现 John Smith。
编辑:为了将“Stany”附加到 id:1 中的任何名称,您可以执行以下操作:
var changedName = info({id:1}).first().name + ' Stany';
info.merge({id:1, name:changedName}, "id", false);
代替
info.merge({id:1, name:"Jane Smith"}, "id", false);