私は Nodejs と mongodb の初心者です。
次のシナリオのデータを取得しようとしていました。以下の3つのスキーマを考える Profile schema
var ProfileSchema = new Schema({
username: {type: String, match: /^[a-zA-Z0-9_.-]+$/, unique: true},
name: String});
投稿スキーマ
var PostsSchema = new Schema({
profileid: {type: ObjectId, ref: 'Profile'},
message: {type: String, match: /^.{1,160}$/} });
スキーマに従う
var FollowSchema = new Schema({
profileid: {type: ObjectId, ref: 'Profile'},
followingid: {type: ObjectId, ref: 'Profile'}});
これはツイッターの階層に似ています。
フォロワーからすべての投稿を取得するために、次のことを試しました
Follows.find({'profileid' : '500d18823e792d8814000001'}).select('followingid -_id').limit(20).sort({addedon: 'desc'}).execFind(function (arr,followings) {
Posts.find({profileid: {$in: followings}}).limit(20).execFind(function (arr,data) {
console.log(data);
});
});
しかし、それは機能していません。これを取得するための最良の方法を教えてください。
ご協力ありがとうございました