如何使用Node.js/Express从MongoDB中提取数据作为对象而不是数组?

如何使用Node.js/Express从MongoDB中提取数据作为对象而不是数组?,node.js,mongodb,express,Node.js,Mongodb,Express,我正在学习MongoDB和Node.js。当我试图制作小型数据库时,遇到了一个问题。数据的结果显示为数组,而不是对象 我想做的是:将数据的结果显示为对象 数据:[{u id:“59e06e1dbbeee5a09e8fb46b”,“id:“123”,“name:“狗咬玩具”,“price:”10.99},{u id:“59e06e1dbbeee5a09e8fb46c”,“id:”456”,“name:“狗枕”,“price:”25.99}] 当我键入localhost:3000/findToy?i

我正在学习MongoDB和Node.js。当我试图制作小型数据库时,遇到了一个问题。数据的结果显示为数组,而不是对象

我想做的是:将数据的结果显示为对象

数据:
[{u id:“59e06e1dbbeee5a09e8fb46b”,“id:“123”,“name:“狗咬玩具”,“price:”10.99},{u id:“59e06e1dbbeee5a09e8fb46c”,“id:”456”,“name:“狗枕”,“price:”25.99}]

当我键入localhost:3000/findToy?id=123时,将显示以下数据

数据是数组。但我想将其显示为如下所示的对象

{u id:“59e06e1dbbeee5a09e8fb46b”,“id:“123”,“name:“狗咬玩具”,“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;

您可以使用findOne方法代替find()