2016-12-01 12 views
0

私は_idフィールドで2つのコレクションの間で$ルックアップをしようとしています。それは常に私に空のオブジェクトを返します。

それはMongodb $lookup Not working with _id

とまったく同じ問題だが、私はすでに彼のソリューションを実装しました。これは、型coertionについて知っているし、私のIDフィールドは、まったく同じタイプです:

var sessionSchema = new Schema({ 
    user  : { type: mongoose.Schema.ObjectId, ref: 'User' }, 
    startDate : Date, 
    endDate  : Date 
}); 

と要求:

db.sessions.aggregate([{$project: {user:1}}, { $lookup : { from: "User", localField: "user", foreignField: "_id", as: "u" }} ]); 

と結果:

Schema.ObjectId

はここに私のセッションのコレクションです

{ "_id" : ObjectId("5697d6c810ad24b91b130df2"), "user" : ObjectId("5697d6c210ad24b91b130df1"), "u" : [ ] } 
{ "_id" : ObjectId("5697d6d810ad24b91b130df3"), "user" : ObjectId("5697d6c210ad24b91b130df1"), "u" : [ ] } 
{ "_id" : ObjectId("5697d70410ad24b91b130df4"), "user" : ObjectId("5697d6c210ad24b91b130df1"), "u" : [ ] } 
{ "_id" : ObjectId("5697d71310ad24b91b130df5"), "user" : ObjectId("5697d6c210ad24b91b130df1"), "u" : [ ] } 
{ "_id" : ObjectId("5697d71c10ad24b91b130df6"), "user" : ObjectId("5697d6c210ad24b91b130df1"), "u" : [ ] } 

私のUserコレクションに言及すると便利ではないと思います。おもしろいフィールドは_id

私はモンゴーの専門家ではないので、分かりにくいものがなければなりません。見つけられません。

+0

の基準とした相対的なテーブルを作成しますか? –

+0

「私」のフィールドは何ですか? ;)申し訳ありません、タイプミス。これはルックアップによって作成されるフィールドです: 'u' – Martin

+0

ok。あなたのUserコレクションのスペルは "user"ではなく "user"であると確信していますか? 「セッション」コレクションは小文字であるので –

答えて

0

私はマングースを使用しているとは言及していませんでした。あなたは、コレクションを作成している場合は

は、マングースは自動的にどこに「私は」フィールドからだ

with the plural mode.だから私のミスがfrom: "user"代わりfrom: "users"

関連する問題