gpt4 book ai didi

c# - 如何使用 RavenDB 中的 eval 功能将项目添加到数组?

转载 作者:太空宇宙 更新时间:2023-11-03 13:48:32 24 4
gpt4 key购买 nike

考虑以下数据库文档:

enter image description here

我需要将一个元素推送到数组突出显示的字段“角色”。

我试过下面的代码但没有成功。我需要知道使用哪个命令代替“SelectWhere”...

patches.Add(new ScriptedPatchCommandData
{
Key = "Users/" + (mp.EnableChangeUserName ? user.ProviderUserKey : username),
Patch = new ScriptedPatchRequest
{
Script = @"
var app = this.Applications.SelectWhere(function(application){
return application.Key == appKey;
});
if(app != null) { app.Roles.PushAll(roles) }",
Values = { { "appKey", mp.ApplicationKey }, {"roles", roleNames} }
}
});

建议?

最佳答案

这应该可以解决问题:

for (var i = 0; i < this.Applications.length; i++)
{
var app = this.Applications[i];
if (app.Key == appKey)
{
app.Roles = app.Roles.concat(roles);
}
}

在 Raven Management Studio 中测试时,似乎无法在参数窗口中表示数组,因此我不得不将其作为字符串输入 ["foo","bar"] 并对脚本做一个小改动:

...   .concat(eval(roles))

关于c# - 如何使用 RavenDB 中的 eval 功能将项目添加到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14446430/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com