如何使用Node.js/Express从MongoDB中提取数据作为对象而不是数组?
我正在学习MongoDB和Node.js。当我试图制作小型数据库时,遇到了一个问题。数据的结果显示为数组,而不是对象 我想做的是:将数据的结果显示为对象 数据:如何使用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
[{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()