복붙노트

[MONGODB] 어떻게 Node.js를 몽구스를 사용하여 문서를 제거하는 방법은 무엇입니까?

MONGODB

어떻게 Node.js를 몽구스를 사용하여 문서를 제거하는 방법은 무엇입니까?

FBFriendModel.find({
    id: 333
}, function (err, docs) {
    docs.remove(); //Remove all the documents that match!
});

위는 작동하지 않습니다. 기록은 아직 거기.

누군가 수정은 할 수 있습니까?

해결법

  1. ==============================

    1.. (콜백) 제거; ({333 ID})는 반복하는 기분하지 않는 경우, FBFriendModel.find 시도 . 또는 FBFriendModel.find는 ({번호 : 333})) (분리 간부를 ().

    . (콜백) 제거; ({333 ID})는 반복하는 기분하지 않는 경우, FBFriendModel.find 시도 . 또는 FBFriendModel.find는 ({번호 : 333})) (분리 간부를 ().

    mongoose.model.find 제거 기능이있는 쿼리를 반환합니다.

    몽구스 v5.5.3 업데이트 - 삭제 ()는 현재 지원되지 않습니다. 사용 deleteOne (), deleteMany () 또는 findOneAndDelete () 대신.

  2. ==============================

    2.UPDATE : 몽구스 버전 (5.5.3)

    UPDATE : 몽구스 버전 (5.5.3)

    제거 ()는 사용되지 않으며 당신은 deleteOne (), deleteMany (), 또는 대신 bulkWrite ()를 사용할 수 있습니다.

    "몽구스"현재 "> = 2.7.1"당신은 나에게 더 효율적으로 보인다 그것을 제거하고 유지 관리가 간편하고 문서를 찾아보다는 .remove () 메서드를 사용하여 문서를 직접 제거 할 수 있습니다.

    예를 참조하십시오 :

    Model.remove({ _id: req.body.id }, function(err) {
        if (!err) {
                message.type = 'notification!';
        }
        else {
                message.type = 'error';
        }
    });
    

    최신 정보:

    몽구스 3.8.1로, 직접 문서를 제거 할 수있는 몇 가지 방법이 있습니다, 말 :

    자세한 내용은 API 문서를 몽구스를 참조하십시오.

  3. ==============================

    3.워드 프로세서 문서의 배열이다. 그래서 그것은 mongooseModel.remove () 메소드가 없습니다.

    워드 프로세서 문서의 배열이다. 그래서 그것은 mongooseModel.remove () 메소드가 없습니다.

    당신은 반복하고 개별적으로 배열의 각 문서를 제거 할 수 있습니다.

    또는 - 대신 발견의 사용 findOne - 당신은 (아마도) 고유 ID로 문서를 찾는 것 같습니다 때문이다.

  4. ==============================

    4.나를 위해이 버전 3.8.1의로 최고입니다 :

    나를 위해이 버전 3.8.1의로 최고입니다 :

    MyModel.findOneAndRemove({field: 'newValue'}, function(err){...});
    

    그리고 그것은 단지 하나의 DB 호출이 필요합니다. 이것은 당신이 어떤 제거 작업 검색 및 제거에 pior 수행하지 않는 것이 주어진 사용합니다.

  5. ==============================

    5.간단하게 할

    간단하게 할

    FBFriendModel.remove().exec();
    
  6. ==============================

    6.mongoose.model.find ()도 제거 () 함수가있는 쿼리 개체를 반환합니다.

    mongoose.model.find ()도 제거 () 함수가있는 쿼리 개체를 반환합니다.

    당신은 단지 하나의 고유 한 문서를 제거 할 경우, ()뿐만 아니라 mongoose.model.findOne를 사용할 수 있습니다.

    먼저 문서를 검색하는 경우 다른 사람이 아니라 기존의 접근 방식을 따를 수 있습니다 후 제거합니다.

    yourModelObj.findById(id, function (err, doc) {
        if (err) {
            // handle error
        }
    
        doc.remove(callback); //Removes the document
    })
    

    문서를 제거하려면 다음을 (들)을 수행 할 수 있습니다 모델 객체에 대한 방법은 다음과 같습니다

    yourModelObj.findOneAndRemove(conditions, options, callback)
    

    yourModelObj.findByIdAndRemove (ID, 옵션, 콜백)

    yourModelObj.remove (조건 콜);

    var query = Comment.remove({ _id: id });
    query.exec();
    
  7. ==============================

    7.제거 ()는 더 이상 사용되지 않습니다. 사용 deleteOne (), deleteMany () 또는 bulkWrite ().

    제거 ()는 더 이상 사용되지 않습니다. 사용 deleteOne (), deleteMany () 또는 bulkWrite ().

    코드 I 사용

    TeleBot.deleteMany({chatID: chatID}, function (err, _) {
                    if (err) {
                        return console.log(err);
                    }
                });
    
  8. ==============================

    8.당신이 사용할 수있는 일반화하려면

    당신이 사용할 수있는 일반화하려면

    SomeModel.find( $where, function(err,docs){
      if (err) return console.log(err);
      if (!docs || !Array.isArray(docs) || docs.length === 0) 
        return console.log('no docs found');
      docs.forEach( function (doc) {
        doc.remove();
      });
    });
    

    이것을 달성하는 또 다른 방법은 다음과 같습니다

    SomeModel.collection.remove( function (err) {
      if (err) throw err;
      // collection is now empty but not deleted
    });
    
  9. ==============================

    9.findOne 및 제거에주의!

    findOne 및 제거에주의!

      User.findOne({name: 'Alice'}).remove().exec();
    

    코드는 제거합니다 위의 모든 사용자는 '앨리스'대신의 첫 번째 이름.

    그런데,이 같은 제거 문서를 선호한다 :

      User.remove({...}).exec();
    

    또는 () 콜백을 제공하고 간부를 생략

      User.remove({...}, callback);
    
  10. ==============================

    10.

    model.remove({title:'danish'}, function(err){
        if(err) throw err;
    });
    

    참조 : http://mongoosejs.com/docs/api.html#model_Model.remove

  11. ==============================

    11.당신은 제거 할 단 하나의 목적을 찾고 있다면, 당신은 사용할 수 있습니다

    당신은 제거 할 단 하나의 목적을 찾고 있다면, 당신은 사용할 수 있습니다

    Person.findOne({_id: req.params.id}, function (error, person){
            console.log("This object will get deleted " + person);
            person.remove();
    
        });
    

    이 예에서, 몽구스는 일치 req.params.id에 따라 삭제합니다.

  12. ==============================

    12..remove () () .find 같이 작동합니다 :

    .remove () () .find 같이 작동합니다 :

    MyModel.remove({search: criteria}, function() {
        // removed.
    });
    
  13. ==============================

    13.나는 당신이, 예를 들어 필요한 약속 표기를 선호

    나는 당신이, 예를 들어 필요한 약속 표기를 선호

    Model.findOneAndRemove({_id:id})
        .then( doc => .... )
    
  14. ==============================

    14.문서 제거, I가 사용 Model.remove 선호 (조건 [콜백])

    문서 제거, I가 사용 Model.remove 선호 (조건 [콜백])

    제거에 대한 API 문서를 참조하십시오 : -

    http://mongoosejs.com/docs/api.html#model_Model.remove

    이 경우를 들어, 다음 코드는 다음과 같습니다 -

    FBFriendModel.remove({ id : 333 }, function(err, callback){
    console.log(‘Do Stuff’);
    })
    

    당신이 콜백을 통과하지 못한, MongoDB의 응답을 기다리지 않고 문서를 제거하려는 경우, 당신은 반환 된 쿼리에 간부 호출 할 필요가

    var removeQuery = FBFriendModel.remove({id : 333 });
    removeQuery.exec();
    
  15. ==============================

    15.당신은 너무 직접 제거 함수 내에서 쿼리를 사용할 수 있습니다 :

    당신은 너무 직접 제거 함수 내에서 쿼리를 사용할 수 있습니다 :

    FBFriendModel.remove({ id: 333}, function(err){});
    
  16. ==============================

    16.당신은 항상 몽구스가 내장 된 기능을 사용할 수 있습니다 :

    당신은 항상 몽구스가 내장 된 기능을 사용할 수 있습니다 :

    var id = req.params.friendId; //here you pass the id
        FBFriendModel
       .findByIdAndRemove(id)
       .exec()
       .then(function(doc) {
           return doc;
        }).catch(function(error) {
           throw error;
        });
    
  17. ==============================

    17.업데이트 : .remove ()는 감가 상각하고 있지만 여전히 이전 버전 작동

    업데이트 : .remove ()는 감가 상각하고 있지만 여전히 이전 버전 작동

    YourSchema.remove({
        foo: req.params.foo
    }, function(err, _) {
        if (err) return res.send(err)
        res.json({
            message: `deleted ${ req.params.foo }`
        })
    });
    
  18. ==============================

    18.제거 할 수있는 제거 () 메소드를 사용하여.

    제거 할 수있는 제거 () 메소드를 사용하여.

    getLogout(data){
            return this.sessionModel
            .remove({session_id: data.sid})
            .exec()
            .then(data =>{
                return "signup successfully"
            })
        }
    
  19. ==============================

    19.나를 위해 일한이, 그냥이 시도 :

    나를 위해 일한이, 그냥이 시도 :

    const id = req.params.id;
          YourSchema
          .remove({_id: id})
          .exec()
          .then(result => {
            res.status(200).json({
              message: 'deleted',
              request: {
                type: 'POST',
                url: 'http://localhost:3000/yourroutes/'
              }
            })
          })
          .catch(err => {
            res.status(500).json({
              error: err
            })
          });
    
  20. ==============================

    20.이라고 Samyak 자이나교의 대답에 따라, 내가 비동기 기다리고 있습니다를 사용

    이라고 Samyak 자이나교의 대답에 따라, 내가 비동기 기다리고 있습니다를 사용

    let isDelete = await MODEL_NAME.deleteMany({_id:'YOUR_ID', name:'YOUR_NAME'});
    
  21. ==============================

    21.

    db.collection.remove(<query>,
     {
      justOne: <boolean>,
      writeConcern: <document>
    })
    
  22. from https://stackoverflow.com/questions/5809788/how-do-i-remove-documents-using-node-js-mongoose by cc-by-sa and MIT license