[英]Mongoose controller cant find a method from Repository
我目前在 3 个文件中设置了我的代码: Search.model.js
、 Search.repository.js
和search.controller.js
。
问题是当我向 Route 发送请求时,它到达 controller 但无法调用存储库中的 function。 代码如下:
search.repository.js
const mongoose = require('mongoose');
const Search = require('../models/search.model');
const perPage = config.PAGINATION_PERPAGE;
const searchRepository = {
save: async (data) => {
console.log("Reached save in Repository");
try {
let record = await Search.create(data);
if (!record) {
return null;
}
return record;
} catch (e) {
throw e;
}
},
};
module.exports = searchRepository;
search.controller.js
const mongoose = require("mongoose");
const searchRepo = "../repositories/search.repository";
class SearchController {
constructor() {}
async store(req) {
console.log("Reached Store");
try{
let record = await searchRepo.save(req.body);
if (record) {
return { status: 200, data: {}, message: "Saved Successfully" };
} else {
return { status: 201, data: {}, message: "Unable to save your record. Please try again later." };
}
}
catch(e){
return { status: 201, data: {}, message: e.message };
}
}
}
module.exports = new SearchController();
我得到的错误:
{
"status": 201,
"data": {},
"message": "searchRepo.save is not a function"
}
search.controller.js
中的 searchRepo 变量未设置为search.repository.js
中的 searchRepository object。 确保正确导出和导入 object。
您没有在search.controller.js
文件中正确导入 searchRepo。
代替
const searchRepo = "../repositories/search.repository";
做这个
const searchRepo = require("../repositories/search.repository");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.