JSON 使用 LoDash 和 ParseDB 的 CRUD 操作
JSON CRUD operations with LoDash and ParseDB
我将 Javascript 与 Lodash 和 Express/Parse 后端一起使用。给定一个包含 3 列的集合,其中两列具有唯一字符串,其中一列包含以下形式的对象:
{
"Array1": [
{object},
{object}
],
"Array2": [
{object},
{object},
{object}
],
"GlobalID": "xxxxx"
}
每个 {objects} 都包含许多其他对象,其中一些与 objectID 嵌套在一起。我想使用 GlobalID 和 objectID 删除所选数组内的给定对象。到目前为止,我已经尝试了所有我能想到的使用 Lodash 和 Parse.Query 的组合。我想我已经能够使用 GlobalID 在列级别成功 select 对象,但我无法进入数组和 select 目标对象以使用 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 和 Express/Parse 后端一起使用。给定一个包含 3 列的集合,其中两列具有唯一字符串,其中一列包含以下形式的对象:
{
"Array1": [
{object},
{object}
],
"Array2": [
{object},
{object},
{object}
],
"GlobalID": "xxxxx"
}
每个 {objects} 都包含许多其他对象,其中一些与 objectID 嵌套在一起。我想使用 GlobalID 和 objectID 删除所选数组内的给定对象。到目前为止,我已经尝试了所有我能想到的使用 Lodash 和 Parse.Query 的组合。我想我已经能够使用 GlobalID 在列级别成功 select 对象,但我无法进入数组和 select 目标对象以使用 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();
});