从 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')
}
这将只查找相关文档并更新它们。
我在 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')
}
这将只查找相关文档并更新它们。