嵌入式RavenDB和索引超过5个新文档

时间:2012-05-26 12:22:07

标签: ravendb

我正在使用RavenDB Embedded。建888。 有照片集:

public class Photo
    {
        private Dictionary<string, VoteDictionaryValue> _votes = new Dictionary<string, VoteDictionaryValue>();

        public Photo()
        {
            Created = DateTime.Now;
        }

        public string Id { get; set; }
        public string Title { get; set; }
        public string UserId { get; set; }
        public string Image { get; set; }
        public DateTime Created { get; private set; }

        public Dictionary<string, VoteDictionaryValue> Votes
        {
            get { return _votes; }
            protected set { _votes = value; }
        }
}

有索引:

public class PhotosSortByCreated : AbstractIndexCreationTask<Photo>
    {
        public PhotosSortByCreated()
        {
            Map = photos => from photo in photos
                            select new {photo.Created};

            Store(x => x.Created, FieldStorage.No);
            Sort(x => x.Created, SortOptions.String);
        }
    }

和查询:

RavenQueryStatistics stat;

var query = from photo in RavenSession.Query<Photo>()
                        orderby photo.Created descending
                        select photo;

var result = query.Statistics(out stat).Skip(page*pageSize).Take(pageSize).Customize(x => x.WaitForNonStaleResults(TimeSpan.FromSeconds(3))));

逐张添加10张照片。

通过这个查询我只得到5-6。

所有新添加的照片都不会返回。

池重启后

我可以在ravenDB停止索引之前添加5-6张新照片。

所有添加的照片都保存在数据库中,但它们没有编入索引。

为什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

添加:

RavenSession.Query<Photo>().Customize(x=>x.WaitForNonStaleResultsAsOfNow())

会发生什么?