[英]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.