如何在 ravendb 中写入字符串数组索引
how to write string array index in ravendb
我有一个名为 Orders like this 的 ravendb 文档
{
"MyOrders": [
"S1",
"S2"
],
"Id": "6666"
}
我将查询此文档并传递订单字符串,例如 S1
然后它应该 return 我那个文件作为 S1 匹配它。我对这个 ravendb 很陌生。我找不到路。到目前为止我只写了这些
public class MyOrderIndexes: AbstractIndexCreationTask<Order>
{
public MyOrderIndexes()
{
Map = Orders => from Order in Orders
select new
{
ID= Order.Id
};
Index(x => x.Id, FieldIndexing.NotAnalyzed);
}
}
谁能帮帮我
一个问题是 Id 上的 FieldIndexing,还需要映射 MyOrders 才能对其执行查询。
索引:
public class MyOrderIndexes: AbstractIndexCreationTask<Order>
{
public MyOrderIndexes()
{
Map = Orders => from Order in Orders
select new
{
Id = Order.Id,
MyOrders = Order.MyOrders
};
}
}
查询:
var results = session
.Query<Order, MyOrderIndexes>()
.Where(x => x.MyOrders.Any(l => l == "S1"))
.ToList();
型号:
public class Order
{
public string Id { get; set; }
public ICollection<string> MyOrders { get; set; }
}
要查询它,您不需要创建索引。只需查询,Raven 将为您创建。
这个查询应该可以正常工作:
var hasS2 = session.Query<Orders>()
.Where(o => o.MyOrders.Contains("S2"))
.ToList();
我有一个名为 Orders like this 的 ravendb 文档
{
"MyOrders": [
"S1",
"S2"
],
"Id": "6666"
}
我将查询此文档并传递订单字符串,例如 S1
然后它应该 return 我那个文件作为 S1 匹配它。我对这个 ravendb 很陌生。我找不到路。到目前为止我只写了这些
public class MyOrderIndexes: AbstractIndexCreationTask<Order>
{
public MyOrderIndexes()
{
Map = Orders => from Order in Orders
select new
{
ID= Order.Id
};
Index(x => x.Id, FieldIndexing.NotAnalyzed);
}
}
谁能帮帮我
一个问题是 Id 上的 FieldIndexing,还需要映射 MyOrders 才能对其执行查询。
索引:
public class MyOrderIndexes: AbstractIndexCreationTask<Order>
{
public MyOrderIndexes()
{
Map = Orders => from Order in Orders
select new
{
Id = Order.Id,
MyOrders = Order.MyOrders
};
}
}
查询:
var results = session
.Query<Order, MyOrderIndexes>()
.Where(x => x.MyOrders.Any(l => l == "S1"))
.ToList();
型号:
public class Order
{
public string Id { get; set; }
public ICollection<string> MyOrders { get; set; }
}
要查询它,您不需要创建索引。只需查询,Raven 将为您创建。
这个查询应该可以正常工作:
var hasS2 = session.Query<Orders>()
.Where(o => o.MyOrders.Contains("S2"))
.ToList();