【问题标题】:how to query in ravendb studio?如何在 ravendb studio 中查询?
【发布时间】:2013-08-01 19:35:12
【问题描述】:

我从代码中查询 RavenDB 没有问题,但有时直接快速查找 RavenDB 会很好。不幸的是,尽管提示它使用 Lucene 语法,但我无法弄清楚。

例如,我有一个RegionLocation 文档:

{
  "RegionId": 804291854,
  "Name": "Miami",
  "Description": null,
  "DbRowStatus": 0,
  "CreatedBy": "Zorro",
  "UpdatedBy": null,
  "DeletedBy": null,
  "CreatedOn": "2013-06-05T18:31:37.4332753",
}

我没有任何运气来查询它。 RegionLocation.Name: M* 不返回任何结果。 知道我做错了什么吗?

【问题讨论】:

    标签: ravendb ravendb-studio


    【解决方案1】:

    假设您已经有一个映射了名称的索引,或者您正在针对 RegionLocation 文档构建一个新的动态索引,那么查询的语法就是:

    Name: M*
    

    我同意文档可以做得更好——尤其是应用程序内的帮助。但是你可以找到大部分你需要知道的here

    更新

    这被提出为Issue #1250,并在 RavenDB 2.5.2750 中关闭。该工作室现在包含易于访问的帮助:

                 

    当您将鼠标悬停在 (i) 图标上时会显示弹出窗口,并且“在线查询语法”链接指向相关的 Lucene documentation

    【讨论】:

    • 谢谢,它可以在没有文档名称的情况下工作,这很奇怪,因为当我从菜单更改索引源时,它会自动添加到 .Name...顺便说一句,为什么它必须在那里索引?在 SQL Server 中,我可以查询所有字段是否被索引。
    • 马特我不同意,我的意思是你的解决方案有效,但文档缺乏并且缺乏很多。没有解释什么样的语法工作室能够接受,并且智能感知在构建查询时会给你错误的“印象”。远不是一个完整的产品恕我直言
    • @Raffaeu - 不知道为什么你认为这一点上下文帮助会成就或破坏它成为一个“完整的产品”,但正如你可以从我更新的答案中看到的那样 - 这已经在去年 10 月得到解决.
    • @MattJohnson 在产品未使用标准查询语言(如 T-SQL 或 LinQ)的那一刻,它会迫使您“猜测”语法。看看 LinqPad,那是一个完整的查询编辑器
    • @Raffaeu - 它使用 Lucene 语法。您可能不像 TSQL 或 LINQ 那样熟悉它,但那是因为它有不同的用途。它确实提供 Intellisense,如果那是您正在寻找的。如果您认为它应该更多,也许考虑为new HTML-based studio for Raven3 做出贡献。但这对 StackOverflow 来说是个话题……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多