我正在将 Javascript 与 Lodash 和 Express/Parse 后端结合使用。给定一个包含 3 列的集合,其中两列具有唯一的字符串,其中一列包含以下形式的对象:
{
"Array1": [
{object},
{object}
],
"Array2": [
{object},
{object},
{object}
],
"GlobalID": "xxxxx"
}
每个 {objects} 都包含许多附加对象,其中一些对象与 objectID 一起嵌套。使用 GlobalID 和 objectID 我想删除所选数组内的给定对象。到目前为止,我已经尝试了所有我能想到的结合使用 Lodash 和 Parse.Query 的方法。我认为我已经能够使用 GlobalID 在列级别成功选择对象,但我无法访问数组并使用 objectID 选择要删除的目标对象。你怎么做到这一点?我确信有不止一种方法。我会采纳你的任何建议。
最佳答案
我对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();
});
关于javascript - 使用 LoDash 和 ParseDB 进行 JSON CRUD 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28313043/