从 Json 对象循环遍历文档中的数组中删除字符串

Remove string from Array in Json object looping through documents

我在 RavenDB NoSql 数据库中有多个文档。我正在使用 restful 服务来 post,在需要时放置和获取团队文档。但是,我需要创建一个功能来键入一个字符串并循环遍历所有文档,在它遍历每个文档时从文档中拼接出该特定字符串。我的 JSON 格式就是这样。

{
"Name": " Management Team Lead",
"IsActive": true,
"UserRoleId": "userRoles/DemoSystemAdmin",
"Region": "Europe",
"Country": "Unknown",
"CommitteeType": "Haaa",
"MemberUserIds": [
    "joeBlogs",
    "TomCreen",
    "Herbyvoire",
    "MayJune",
],
"PortfolioIds": [],
"LegalEntityIds": []

}

在这种情况下,如果 MemberUserId 存在于该团队文档中,我必须检查 40 多个团队文档,如果存在,则将其删除。 我是 .Net 的新手,但我想我要做的是循环 "Get" 每个文档,然后检查字符串是否与 Json 匹配,以及它是否拼接空白并 "Put" 返回数据库。

如何循环遍历每个文档而不必指定每个文档的名称?

使用 RQL,您可以通过以下查询执行此操作:

from Users as u
where u.MemberUserIds[] = 'TomCreen'
update {
    u.MemberUserIds = u.MemberUserIds.filter(m => m != 'TomCreen')
}

这将只查找相关文档并更新它们。