2016-08-25 9 views
0

mongoDBのサブ文書IDにnode.jsを使用してアクセスしようとしていますが、文からヌル出力を得ようとしています: review = location.reviews.id params.reviewid);ノードエクスプレスフレームワークを使用したmongoDBのサブ文書IDへのアクセス

はまた、結果がコンソールに印刷されたばかりされていますが、ブラウザでは、私が

Data is getting printed in the console

This is the main code

Data is present in the database

を "reviewIdが見つからない" というエラーを取得していますThis is the output that I am getting

+0

を持ってしてください代わりにOD 'location.reviews.id(req.params.reviewid);' 'を使用location.reviews .find(関数(レビュー){戻りreview.id === req.params.reviewid;}); ' – Molda

+0

@Moldaそのそれでもにconsole.log(レビュー)の出力は何同じ出力 –

+0

を与えます。 'レビュー= location.reviews.find(関数(レビュー){戻りreview.id === req.params.reviewid;});後' – Molda

答えて

0

MongoDBはを提供しますサブ文書内を検索するには、が必要です。あなたは試してみることができますmongoシェルで

db.locations.find({ _id: ObjectId("Your_locations_Id"), reviews: { $elemMatch: { id: ObjectId("Your_reviews_Id") } }}) 

です。私はマングースわからないですけど

Loc.find("_id": mongoose.Types.ObjectId(req.params.locationid)).elemMatch("reviews", {"id": mongoose.Types.ObjectId(req.params.reviewsid)}) 

次動作するはずな外観MongoDB $elemMatchmongoose elemMatch機能に

関連する問題