2017-11-22 16 views
0

nullのプロパティ 'title'を読み取ることができません! findone.ejsファイルをrendringながら表示..しかし、デシベルでの最初のものはノード&& Mongodb findOneが機能しない

app.get('/books/:title', (req, res) => { 
    db.collection("Book") 
    .findOne({ 'title': req.params.title }, function(err, result) { 
     if (err) throw err; 

     res.render('findone.ejs', { Book: result}); 
    }); 
}) 

データベーススキーマ..完全に表示されます。 するvarマングース=は(「マングース」)を必要とします。 varスキーマ= mongoose.Schema;

var BookSchema = new Schema({ 
    title: String, 
    author: String, 
    category: String 
}); 

module.exports = mongoose.model('Book', BookSchema); 

Mongo Database。

{ 
    "_id": { 
     "$oid": "5a14a5edf6fe123247b890f3" 
    }, 
    "title": "ttt", 
    "author": "ttttt", 
    "category": "tttttttttttt" 
} 

{ 
    "_id": { 
     "$oid": "5a14a5f2f6fe123247b890f4" 
    }, 
    "title": "tttt", 
    "author": "ttttt", 
    "category": "ttttttttttttttttttttttttttt" 
} 

{ 
    "_id": { 
     "$oid": "5a154e4bff45fe2c9035f9da" 
    }, 
    "title": "hello ", 
    "author": "rabbani", 
    "category": "how are you" 
} 
+0

これは、クエリがどのドキュメントにも一致しないこと、または特定のタイトルのコレクションにドキュメントがないことを意味します。クエリの前に 'req.params.title'を記録すると、何が得られますか? – chridam

+0

それは私が比較したいタイトルを示している&&私はリンク上で与えている。 –

+0

"Book"モデルコードを追加することができます – akinjide

答えて

-1

あなたが、あなたはタイトルが一意であることを確認する必要があります。もちろん、この

Book.findOne({"title": title}, function(err, book) { 
    //handle book 
}) 

のようなこの

Book = mongoose.model('Book') 

のようなスキーマとクエリをインポートすることができますマングースを使用している場合。

+0

@rabbaniコメントは 'プロパティ 'title' of nullを読み取れません!!!!彼がモデルをインポートしていると確信しています – akinjide

+1

それは意味しません'req.params'はnullですか? –

関連する問題