簡體   English   中英

ZCCADDEDB567ABAE643E15DCF0974E503Z controller 無法從存儲庫中找到方法

[英]Mongoose controller cant find a method from Repository

我目前在 3 個文件中設置了我的代碼: Search.model.jsSearch.repository.jssearch.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM