📜  jsonb_set 删除键 - Javascript (1)

📅  最后修改于: 2023-12-03 14:43:35.027000             🧑  作者: Mango

使用 jsonb_set 删除键 - Javascript

在 Javascript 中,我们可以使用 jsonb_set() 函数来删除 JSON 对象中的一个或多个键。jsonb_set() 函数是 PostgreSQL 中的一个函数,它允许您更新或删除 JSONB 列类型中的一个或多个键。

删除一个键

要删除 JSON 对象中的一个键,请在 jsonb_set() 函数中使用特定语法,指定需要删除的键路径和新值为 null。以下是一个简单的示例代码:

let json = {
    "name": "John Doe",
    "age": 35,
    "location": {
        "city": "New York",
        "state": "NY",
        "country": "USA"
    },
    "hobbies": ["reading", "writing", "traveling"]
};

// 删除 "location" 键
json = jsonb_set(json, '{location}', null);

console.log(json); // 输出 "{"name": "John Doe","age": 35,"hobbies": ["reading", "writing", "traveling"]}"

在上面的代码中,我们使用 jsonb_set() 函数删除 JSON 对象的 location 键。在 jsonb_set() 函数中,我们使用源 JSON 对象、要删除的键的路径和新值 null。返回的 JSON 对象将不再包含 location 属性。

删除多个键

要一次删除多个键,请使用与删除单个键类似的方法。只需在 jsonb_set() 函数中指定多个具有相应键路径和新值 null 的对应项目即可。以下是一个示例:

let json = {
    "name": "John Doe",
    "age": 35,
    "location": {
        "city": "New York",
        "state": "NY",
        "country": "USA"
    },
    "hobbies": ["reading", "writing", "traveling"]
};

// 删除 "location" 和 "hobbies" 键
json = jsonb_set(json, '{location, hobbies}', null);

console.log(json); // 输出 "{"name": "John Doe","age": 35}"

在上面的代码中,我们使用 jsonb_set() 函数同时删除 locationhobbies 键。在函数中,我们指定了一个对象,其中键被指定为要删除的路径,并且新值为 null。返回的 JSON 对象将不再包含这些键的值。

综上所述,使用 jsonb_set() 函数可以方便地删除 JSON 对象中的一个或多个键。我们可以使用简单的语法在函数中指定要删除的路径和新值 null