コレクションがあり、ビュー+いいねが100を超えるドキュメントを返したいのですが、マングースメソッドを使用してそれを行うにはどうすればよいですか?
1 に答える
2
これは、マップなしでmongodbで検索できる標準のクエリではありません。コレクション全体を縮小してください。
これは、mongooseを使用してmap-reduceクエリを実行する方法に関するチュートリアルです(実際には、基盤となるnode-mongodb-nativeドライバーを使用しているように見えます):http ://wmilesn.com/2011/07/code/how-to-map- reduce-with-mongoose-mongodb-express-node-js /
ただし、マングースには、この場合に役立つトリックがあります。各または操作の合計スコアでフィールドを更新するミドルウェアを作成するだけです。このアプローチの利点の1つは、この結合されたフィールドにインデックスを作成し、map-reduceよりもはるかに高速なルックアップを実行できることです。save()
update()
このミドルウェアページまたはプラグインページは、ドキュメントを保存するたびにフィールドschema.pre('save', ...)
を自動的に更新するために使用できるページを示しています。totals
次に、合計フィールド>100で通常のクエリを実行できます。
于 2012-08-02T12:58:41.677 に答える