为什么 mongoose return 的 find() 方法出错了?
Why the find() method of mongoose return me err?
服务器 return 我是空的 json,我认为 mongoose 方法 find() 有一些问题,它没有找到任何东西。这是代码:
inde.js:
const express = require('express');
const router = express.Router();
const Folders = require('../bin/models/folders');
router.get('/:id', function (req, res) {
Folders.find({ 'BeaconId': req.params.id }).exec((err, folders) => {
if (err) return res.status(500).json({ error: err });
if (!folders) return res.status(404).json({ message: 'Folder not found' });
res.json(folders);
});
});
module.exports = router;
folders.js:
onst mongoose = require('mongoose');
const folderSchema = mongoose.Schema({
Name_folder: String,
Link_folder: String,
BeaconId: Number
});
const Folders = mongoose.model('Folders', folderSchema, 'folders');
module.exports = Folders;
查询参数始终是字符串,因此您可以尝试将 mongooseSchema 中的 BeaconId
从 Number
更改为 String
:
const folderSchema = mongoose.Schema({
Name_folder: String,
Link_folder: String,
BeaconId: String
});
或者您可以将字符串 query.params.id
转换为 number
:
{ 'BeaconId': parseInt(req.params.id)}
服务器 return 我是空的 json,我认为 mongoose 方法 find() 有一些问题,它没有找到任何东西。这是代码:
inde.js:
const express = require('express');
const router = express.Router();
const Folders = require('../bin/models/folders');
router.get('/:id', function (req, res) {
Folders.find({ 'BeaconId': req.params.id }).exec((err, folders) => {
if (err) return res.status(500).json({ error: err });
if (!folders) return res.status(404).json({ message: 'Folder not found' });
res.json(folders);
});
});
module.exports = router;
folders.js:
onst mongoose = require('mongoose');
const folderSchema = mongoose.Schema({
Name_folder: String,
Link_folder: String,
BeaconId: Number
});
const Folders = mongoose.model('Folders', folderSchema, 'folders');
module.exports = Folders;
查询参数始终是字符串,因此您可以尝试将 mongooseSchema 中的 BeaconId
从 Number
更改为 String
:
const folderSchema = mongoose.Schema({
Name_folder: String,
Link_folder: String,
BeaconId: String
});
或者您可以将字符串 query.params.id
转换为 number
:
{ 'BeaconId': parseInt(req.params.id)}