【问题标题】:How to get last write date of a RavenDB collection/index如何获取 RavenDB 集合/索引的最后写入日期
【发布时间】:2013-09-17 17:39:38
【问题描述】:

我想检测最后一次修改或写入集合或索引的时间。

注意:这适用于文档级别,但我需要在集合/索引级别。 How to get last write date of a RavenDB document via C#

【问题讨论】:

    标签: ravendb ravendb-http


    【解决方案1】:
    RavenQueryStatistics stats;
    
    using(var session = _documentStore.OpenSession()) {
        session.Query<MyDocument>()
            .Statistics(out stats)
            .Take(0) // don't load any documents as we need only the stats
            .ToArray(); // this is needed to trigger server side query execution
    }
    
    DateTime indexTimestamp = stats.IndexTimestamp;
    string indexEtag = stats.IndexEtag;;
    

    【讨论】:

      【解决方案2】:

      仅通过 RavenDB Http Api 获取元数据:

      GET http://localhost:8080/indexes/dynamic/MyDocuments/?metadata-only=true

      会返回:

      { "Results":[],
        "Includes":[],
        "IsStale":false,
        "IndexTimestamp":"2013-09-16T15:54:58.2465733Z",
        "TotalResults":0,
        "SkippedResults":0,
        "IndexName":"Raven/DocumentsByEntityName",
        "IndexEtag":"01000000-0000-0008-0000-000000000006",
        "ResultEtag":"3B5CA9C6-8934-1999-45C2-66A9769444F0",
        "Highlightings":{},
        "NonAuthoritativeInformation":false,
        "LastQueryTime":"2013-09-16T15:55:00.8397216Z",
        "DurationMilliseconds":102 }
      

      ResultEtag 和 IndexTimestamp 每次写入都会改变

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-21
        • 2019-10-30
        • 1970-01-01
        • 2010-10-22
        • 2012-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多