mapreduceアルゴリズムの作成に問題があり、必要な統計情報を取得できません。投稿を作成できるユーザーオブジェクトがあり、投稿には他のユーザーが好きなものがたくさんあります。子オブジェクトのMapReduceは埋め込まれていません
ユーザー
--Post
は----
我々だけでユーザーコンテキストで別々にしていない記事にアクセスするためのポストはユーザーに埋め込まれていないが好きです。私が必要とする統計は、著者が得た好きな数であり、ユーザーの投稿のようなものを通してこれを取得する必要があります。問題は、投稿が埋め込まれていないため、マップ機能で投稿にアクセスできないということです。ここで私は現在だけなので、私もレベルまだではなく、数の同類にもらっていないユーザーごとに投稿を返す必要があります
def reputation_map
<<-MAP
function() {
var posts = db.posts.find({user_id:this._id});
emit(this._id, {posts:posts});
}
MAP
end
def reputation_reduce
<<-REDUCE
function(key, values) {
var count = 0;
while(values.hasNext()){
values.next();
count+=1;
}
return {posts:count};
}
REDUCE
end
これを持っているマップであり、機能を減らすこと、これが唯一のポストのためのdbQueryタグを返します。 。これを行う正しい方法は何ですか?
user_idあたりの好きな数(投稿内)。次に、必要に応じて、それらのuser_idをユーザーにマップします(別のクエリで)。 –
私はそれらが埋め込まれていないので、mapreduceでそれらをどのように問い合わせるかわかりません。 – Slick86
地図は、ユーザーではなく、投稿で縮小されます。次に、別のクエリ(map-reduceではない)で(必要な場合)拡張ユーザー情報を取得します。 –