【发布时间】:2016-01-08 20:28:03
【问题描述】:
我正在尝试创建一个静态索引,其中我想要所有存在键并具有值的文档。 value 本身并不重要,只有 key 存在。
我正在使用动态字段探索这个示例: https://ravendb.net/docs/article-page/2.5/csharp/client-api/advanced/dynamic-fields
...虽然我正在使索引正常工作,但我不确定我使用的查询是否正确。
这是示例类:
public class Result
{
public Dictionary<string, List<Data>> Results { get; set; }
}
字典中的键是用户的 ID(例如“user/1”),值是数据对象的列表。所以 json 结构看起来像这样:
{
"Results" :
{
"user/1": [{...}],
"user/2": [{...}],
}
}
我使用的索引是这样的:
public class Result_ByUserId : AbstractIndexCreationTask<Result>
{
public Result_ByUserId()
{
Map = res => from r in res
select new
{
_ = r.Results
.Select(d => CreateField(d.Key, d.Value))
};
}
}
我的问题归结为查询,因为它假定我想查看特定的键和值。
var resultat = session.Advanced.DocumentQuery<Result>("Result/ByUserId ")
.WhereEquals("user/1", "") // How do I write a !isNullOrEmpty?
.ToList();
...我不想这样做。我只想要具有值不为空或为空的键的结果。有人有什么好的建议吗?
【问题讨论】: