【问题标题】:JSON CRUD operations with LoDash and ParseDB使用 LoDash 和 ParseDB 的 JSON CRUD 操作
【发布时间】:2015-02-04 03:32:14
【问题描述】:

我正在使用带有 Lodash 和 Express/Parse 后端的 Javascript。给定一个包含 3 列的集合,其中两列具有唯一的字符串,其中一列包含以下形式的对象:

{
  "Array1": [
    {object},
    {object}
  ],
  "Array2": [
    {object},
    {object},
    {object}
  ],
  "GlobalID": "xxxxx"
}

每个 {objects} 包含许多附加对象,其中一些与 objectID 一起嵌套。使用 GlobalID 和 objectID 我想删除所选数组内的给定对象。到目前为止,我已经尝试了所有我能想到的结合 Lodash 和 Parse.Query 的方法。我想我已经能够使用 GlobalID 在列级别成功选择对象,但我无法进入数组并使用 objectID 选择要删除的目标对象。你怎么做到这一点?我敢肯定有不止一种方法。我会采纳你的任何建议。

【问题讨论】:

    标签: javascript json parse-platform lodash


    【解决方案1】:

    我对lodash一无所知,但没有它这个问题是可以回答的。

    假设您有外部对象的 GlobalID,它是myGlobalID。并假设您知道要从“Array2”中删除,并说您要删除的内部对象的 id 是innerObjectId。那么……

    ...这会查找外部对象:

    var query = new Parse.Query("OuterObject");
    query.equalTo("GlobalID", myGlobalID)
    query.first();   // assumes unique global id, otherwise use find()
    

    ...由于问题暗示数组是指向其他对象的指针,因此您需要创建一个适合删除的对象:

    var pointer = new InnerObject();
    pointer.id = innerObjectId;
    

    ...现在我们可以删除了:

    var query = new Parse.Query("OuterObject");
    query.equalTo("GlobalID", myGlobalID)
    query.first().then(function(object) {
        var pointer = new InnerObject();
        pointer.id = innerObjectId;
        object.remove("Array2", pointer);
        return object.save();
    });
    

    【讨论】:

    • 感谢您的参与!我在第二部分失去了你。变量指针 = 新的 InnerObject();?我确定我在这里遗漏了一些简单的东西,但是我如何定义一个看起来像这样的 InnerObject: { "_account": "YzzrzBrO9OMKqeo", "_id": "600r0LrVvViXjqZoeaVz", "date": "2014-05-12" , "待定": false, "score": { "master": 1, "detail": { "address": 1, "city": 1, "state": 1 } }, "category": [ "Food and Drink", "Restaurants" ], "category_id": "13005000" }, 每次我尝试运行代码 InnerObject 都是未定义的。
    • 顺便说一句,似乎主要问题之一是我必须过滤“hashedJSON”。为什么我必须这样做?这似乎相当随意,并且在我的实际数据存储中并没有与此键一起出现。
    • 代码第二部分的目标是构建一个指针,其objectId(解析的id)与您希望删除的内部对象匹配。没有必要创建一个完整的对象...只需要在 remove() 删除它时匹配即可。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    相关资源
    最近更新 更多