【问题标题】:Need to render specific index/location of returned results from MongoDB query需要呈现从 MongoDB 查询返回的结果的特定索引/位置
【发布时间】:2016-04-25 14:25:56
【问题描述】:

使用 AngularJS 和 MognoDB,是否可以查询数据库,返回结果,然后在角度视图中呈现结果,但在返回数据的特定索引/位置?

注意:对象以数组形式返回...

例如:

用户单击带有 ui-sref 的 <a> 标记,从 View1 进入 View2。 URL 触发对 MongoDB 的查询,返回 500 个结果。在 View2 中,我需要以分页格式(已经完成)呈现结果,但在 <a> 标记打开的特定结果处开始分页。

问题:返回结果并呈现 View2,但结果从返回列表的开头开始,而不是从 View1 单击的特定结果开始。

<div class="col m3" dir-paginate="material in graniteStuff | itemsPerPage: 20">
          <a ui-sref="material({id: material.material_category_id})"><div class="card">
            <div class="card-image small">
                <img ng-src="http://...">
            </div>
            <div class="card-content" id="color">
              <p>{{ material.material_name }}</p>
              <p>{{ material.material_country_of_origin }}</p> 
            </div>
            </div>
          </a>
        </div>

我通过 ui-sref 将 id 作为参数传递给查询,但我还需要将材料名称作为参数传递,或者以某种方式在该特定位置开始返回结果。

【问题讨论】:

    标签: javascript angularjs mongodb pagination


    【解决方案1】:

    您的搜索查询需要获取页面索引和页面大小,并返回总结果的子集,以及给定页面大小的页面数。

    然后您可以渲染分页元素,设置“活动”分页器按钮并仅渲染该页面的结果。

    .skip(pageindex * pagesize).limit(pagesize) // pageindex is 0 based
    

    【讨论】:

    • 我需要返回所有结果。但是当返回并渲染结果时,我需要一个特定的结果,比如说 500 个中的 25 个,才能渲染到视图中,同时仍然能够在其余部分之间分页......我认为这是一个参数问题,而 Angular 只是例如,从第一个结果而不是 '25' 开始分页。
    • 是的,通常您会查询每一页结果。如果不呈现它们,则无需获取每个页面。这将减小响应的大小并加快整个过程。如果由于某种原因您实际上同时需要所有结果,则可以使用 for 循环获取数组的特定子集:stackoverflow.com/questions/16622850/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-26
    相关资源
    最近更新 更多