【问题标题】:Querying data in ravendb在 ravendb 中查询数据
【发布时间】:2016-11-07 00:56:00
【问题描述】:

在 ravendb 里面我有 Properties 文件。除了其他属性 UniqueCode 之外,每个文档都有。如何在 ravendb management studio 中查询特定文档的文档。

我尝试在查询(顶级链接)中使用

from d in docs.Properties
where d.UniqueCode == 1234
select d;

但我收到了No results found

每个属性文档的元数据是

{
    "Raven-Entity-Name": "Properties",
    "Raven-Clr-Type": "MyProject.Test.Data.Domain.Model.Property, MyProject.Test.Data"
}

【问题讨论】:

  • “属性”的作用是什么?
  • 只是一个实体名称(在本例中为文档)。可以是用户或域模型中的任何其他内容。
  • 听起来您的域设计不佳。你不应该有一个捕获所有对象/集合。
  • 我希望通过“可以是用户或其他任何东西..”你的意思是你想对其他模型进行类似的查询,而不是你使用 Properties 模型来存储不相关的以通用方式(如 Phill 解释)的实体..

标签: c# .net ravendb


【解决方案1】:

RavenDb Management Studio 中的查询 UI 使用 Lucene syntax,并在 indexes 上运行。

您需要首先定义一个索引,其中包含您希望能够搜索的任何字段:

from p in docs.Properties
select new {
    p.UniqueCode
}

现在您可以使用 lucene 语法来实际查询:

UniqueCode: 1234

使用 RavenDb 示例,我将定义一个类似的查询:

然后可以找到所有匹配特定值的产品:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多