mongoose findById возвращает ноль - PullRequest
       6

mongoose findById возвращает ноль

0 голосов
/ 26 октября 2019

Я делаю список приложений. Я использую следующую функцию, чтобы переместить задачу из списка дел в список выполненных работ. Однако метод «columnId», который я использую в качестве параметра url, и метод «findById», который я использую, возвращают null. Как вы думаете, проблема может быть?

public async Put(columnId: string, todo: ITodo): Promise<ITodo | null> {
    try {
        const editingTodo: ITodo | null = await Todo.findById(todo._id);
        if (editingTodo !== null) {
            const oldColumn: IColumn | null = await Column.findById(editingTodo.Column._id).exec();
            if (oldColumn !== null) {
                const todoIndexByOldColumn = oldColumn.Todos.indexOf(editingTodo._id);
                oldColumn.Todos.splice(todoIndexByOldColumn, 1);

                const newColumn: IColumn | null = await Column.findById(columnId).populate("Todos").exec();
                console.log(newColumn);
                if (newColumn !== null) {
                    newColumn.Todos.push(todo);
                    newColumn.save();
                    oldColumn.save();
                    editingTodo.save();
                }
            }
        }
        return editingTodo;
    } catch (error) {
        throw error;
    }
}

1 Ответ

0 голосов
/ 26 октября 2019

Вот грубая операция для списка задач с mongoose.

// model todo 

 let todo = new schema({
    description: { type: String },
    heading: { type: String },
    title: { type: String },

 });

Ниже представлен контроллер с логикой для всех операций.

// get All Todo List
let findAllTodoList = async (req, res, next ) => {
      let foundAllTodo = await todo.findAll({});
      res.send({ data: foundAllTodo });
 };

// get Specific Todo 
let findTodoById = async (req, res, next ) => {
      let todo_id = req.params.todo_id;
      let foundTodo = await todo.findById(todo_id);
      res.send({ data: foundTodo });
 };

// create Todo Element 
let createTodo = async (req, res, next ) => {
       let todo_obj =  {
          description: 'Here Add Element',
          heading: 'Adding',
          title: 'Add',
        };
      let foundTodo =  await todo.create(todo_obj);
      res.send({ data: 'success' });
 };

 // Destroy Todo Element 
let DeleteTodoById = async (req, res, next ) => {

      let todo_id = req.params.todo_id 
      let foundTodo =  await todo.remove({ _id:todo_id });
      res.send({ data: 'success' });
 };

module.exports = {
  findAllTodoList 
  findTodoById,
  createTodo,
  DeleteTodoById

};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...