2016-04-23 14 views
0

私はWebアプリケーションを開発しています。私はMongoDBを使ってデータを保存しています。私はデータをソートして適切に表示することができますが、Mongoでソートした後にオブジェクトの位置を取得したいのです。これまでのところ、私はこのコードを持っている:MongoDBでソート後のオブジェクトの位置を取得

Websites.find({_id: {$lte: website_id}}, {sort:{upvotes: -1}}).count();

それはかなり動作しません。それは位置の並べ替えを返しますが、sort:{upvotes: -1}には関連しません。

質問は、どうすれば1を最も上書きしたのか、2番目のように返すことができますか?

+0

インデックスを返すことについてあまりにもわかりませんが、[Cursor]を使用することができます)https://mongodb.github.io/node-mongodb-native/api-generated/cursor.html)やりたい –

+0

あなたがしていることは大丈夫だと思われます。私はこれをデバッグするために 'Websites.find({_ id:{$ lte:website_id}}、{sort:{upvotes:-1}})fetch()'しようとします。 –

+0

そこにcount()メソッドがあるのはなぜですか? – felipsmartins

答えて

0

これはこれを行う方法です。

<template name="websites"> 
    <h2>My Websites list</h2> 
    <div class="row"> 
    {{#each websites}} 
     Index:{{@index}} 
     Feild1:{{feild1}} 
     Feild2:{{feild1}} 
     ... 
    {{/each}} 
    </div> 
</template> 

Template.websites.helpers({ 
    websites: function() { 
    return Websites.find({_id: {$lte: website_id}}, {sort:{upvotes: -1}}); 
    }, 
    index: function (index) { 
    return ++index; 
    }, 
}) 

私はテーブルやリストを作成しませんでしたが、要件ごとに追加することもできます。 乾草が問題を解決することを願っています。

0
Websites.find({_id: {$lte: website_id}}, {sort:{upvotes: -1}}).fetch() 
+0

一般的にはちょうどよい答えではありません。なぜこれが問題を解決すると思われるのか説明を加えてみてください。 – nhouser9

関連する問題