2017-10-18 18 views
1

私はMongoDBとNode.jsを学んでいます。私は小さなデータベースを作ろうとしていますが、問題が発生しました。データの結果は、オブジェクトではなく配列として表示されます。Node.js/Expressを使用してMongoDBから配列ではなくオブジェクトとしてデータを抽出するにはどうすればよいですか?

私がしたいこと:データの結果をオブジェクトとして表示します。

データ:私はlocalhost:3000/findToy?id=123を入力すると[{"_id":"59e06e1dbbeee5a09e8fb46b","id":"123","name":"Dog chew toy","price":10.99},{"_id":"59e06e1dbbeee5a09e8fb46c","id":"456","name":"Dog pillow","price":25.99}]

、以下のデータが示されています。

[{"_id":"59e06e1dbbeee5a09e8fb46b","id":"123","name":"Dog chew toy","price":10.99}]

データがアレイです。しかし、私はそれを以下のようにオブジェクトとして表示したい。私はこれを実現するにはどうすればよい

{"_id":"59e06e1dbbeee5a09e8fb46b","id":"123","name":"Dog chew toy","price":10.99}

index.js

var express = require('express'); 
var app = express(); 

app.set('view engine', 'ejs'); 

var bodyParser = require('body-parser'); 
app.use(bodyParser.urlencoded({ extended: true})); 
app.use(bodyParser.json()); 

var Animal = require('./Animal.js'); 
var Toy = require('./Toy.js'); 

var router = express.Router(); 

app.get('/findToy?:id', (req, res) => { 

    var query = {}; 
    if(req.query.id) { 
    query.id = {$regex: req.query.id }; 
    } 
    if(Object.keys(query).length == 0){ 
    res.json({}); 
    } 

Toy.find(req.query.id,(err, toys) => { 
     if(err) { 
      res.type('html').status(500); 
      res.send('Error:' + err); 
     } 
     else { 
      res.json(toys); 
      console.log(toys) 
     } 
    }) 
}); 

app.listen(3000,() => { 
console.log('Listening on port 3000'); 
}); 

module.exports = app; 

答えて

3

あなたが検索するのではなく、迅速なアドバイスのための() findOne documentation

+0

感謝をfindOneメソッドを使用することができます。 – aaayumi

関連する問題