как писать узел js update api с mongodb [в режиме ожидания]

iam new node js developer и разработчик mogodb, я написал узел js api, но не обновил мое поле. Любой, пожалуйста, предложите мне на основе id, как обновлять экспорт . update = ( req , res ) => { Жалоба . findByIdAndUpdate ( { "status" : "false" }, { $ set : { status : true }}, function ( err , data ) { if ( err ) { console . log ( ошибка ); } else { console . log ( «обновление успешно» ); } }); }; маршруты : приложение . ставить ( '/ NOTES /: NoteID' , жалобы . обновления ); подал каждую запись.

findByIdAndUpdate()

javascript,node.js,mongodb,

-2

Ответов: 2


0

Метод statusработает только с _idсобственностью документа mongodb. Поскольку у вас есть свое пользовательское условие на update()свойство, которое вам нужно сделать в коллекции. Что-то вроде этого:User.update({status: false}, { status: true }, function (err, data) { if (err) { console.log(err); } else { console.log('update successfully'); } });

status

Также обратите внимание, что statusсвойство является логическим, поэтому вам нужно удалить кавычки во время поиска и обновления.


0

Попробуй это

const express = require('express');
const bodyParser = require('body-parser');
const {ObjectID} = require('mongodb');

var {mongoose} = require('./db/mongoose');
var {Todo} = require('./models/todo');


var app = express();
const port = process.env.PORT;

app.use(bodyParser.json());

app.patch('/todos/:id', (req, res) => {
  var id = req.params.id;
  var body = _.pick(req.body, ['text', 'completed']);

  if (!ObjectID.isValid(id)) {
    return res.status(404).send();
  }


  Todo.findByIdAndUpdate(id, {$set: body}, {new: true}).then((todo) => {
    if (!todo) {
      return res.status(404).send();
    }

    res.send({todo});
  }).catch((e) => {
    res.status(400).send();
  })
});
JavaScript, Node.js, MongoDB,
Похожие вопросы