IBM worklight JSON存储删除文档数组

时间:2014-06-17 06:47:11

标签: javascript json ibm-mobilefirst

我在IBM worklight混合应用程序中工作,我使用JSON存储来存储数据,从集合中删除记录,我正在使用id,我可以使用id删除单个记录,如何从JSON存储中一起删除多个记录,如果有任何例子,那将是有用的,任何人都可以帮助我这样做吗?在此先感谢。

删除功能:

var id = JSON.parse(localStorage.getItem('jsonindex'));
var query = {
    _id: id
};
var options = {
    push: true
};
try {
    WL.JSONStore.get(PEOPLE_COLLECTION_NAME).remove(query, options)
        .then(function (res) {
        console.log("REMOVE_MSG");
    })
        .fail(function (errorObject) {
        console.log("Not Removed");
    });
} catch (e) {
    alert(INIT_FIRST_MSG);
}

JSON数据

[{
    "_id": 16,
    "json": {
        "name": " Debit",
        "cardmonth": " 8",
        "cardyear": " 2028",
        "number": " 4216170916239547"
    }
}, {
    "_id": 17,
    "json": {
        "name": " Credit",
        "cardmonth": " 7",
        "cardyear": " 2027",
        "number": " 4216170916239547"
    }
}]

2 个答案:

答案 0 :(得分:1)

尝试:

WL.JSONStore.get('collectionName').remove([...], options);

...替换为{_id: 1}, {_id: 2}或您要用于删除文档的任何查询。

如果不起作用,请升级到最新版本的Worklight,然后重试。

相关:

答案 1 :(得分:0)

如果您能够删除单个记录。它很容易删除多条记录。但它引发了一些性能问题,你有这么多记录。

var id="3";如果您使用Delete method删除此内容。只为多个记录做到这一点

var ids=[];
when user selects item ids.push(item.id);

for(i=0;i<ids.length;i++){
Delete(ids[i]); //its your Delete method
}