Я хочу знать, как я могу получить встроенный документ самостоятельно, используя модуль Node и mongojs. Вот некоторые из моего кода для справки:Как получить единый встроенный документ MongoDB с узлом
//Gets by ID
router.get('storm/:id',function(req,res,next){
db.storms.findOne({_id:mongojs.ObjectId(req.params.id)},function(err,storm){
if (err){
res.send(err);
}
else {
res.json(storm);
}
});
});
Там можно получить с помощью объекта ID, однако, что я хочу сделать, это получить внедренный объект, свойство, кроме ID.
Вот коллекция для справки:
{
"_id":"585761e497a4739e937fad8d",
"user":"lloyd",
"timestamp":"14:20",
"storm":
[
{"message":"This is a test message number 7. I love making test messages.","stormtime":"14:21"},
{"message":"This is a test message number 8. I love making test messages.","stormtime":"14:22"},
{"message":"This is a test message number 9. I love making test messages.","stormtime":"14:23"}
]
}
Я попытался код ниже, но он не работает. Я хочу, чтобы иметь доступ к собственности, как я сделал выше через URL.
//Get messages in storm
router.get('storm/:stormtime',function(req,res,next){
db.storms.find({"storm.stormtime":"14:23"},{"storm.$":1},function(err,storm){
if (err){
res.send(err);
}
else {
res.json(storm);
}
});
});
Как вы думаете, что я должен делать, особенно в моем запросе, для решения этой проблемы?