programing

mongoose로 문서를 업데이트하고 저장하는 방법을 만드시겠습니까?

minimums 2023. 6. 22. 21:39
반응형

mongoose로 문서를 업데이트하고 저장하는 방법을 만드시겠습니까?

공식 문서를 확인한 후에도 다음에서 사용할 수 있는 방법을 만드는 방법에 대해 잘 모르겠습니다.mongoose문서를 만들고 업데이트합니다.

어떻게 하면 좋을까요?

저는 다음과 같은 것을 염두에 두고 있습니다.

mySchema.statics.insertSomething = function insertSomething () {
    return this.insert(() ?
}

정적 메서드 내부에서 다음을 수행하여 새 문서를 작성할 수도 있습니다.

schema.statics.createUser = function(callback) {
  var user = new this();
  user.phone_number = "jgkdlajgkldas";
  user.save(callback);
};

메소드는 모델의 현재 인스턴스와 상호 작용하는 데 사용됩니다.예:

var AnimalSchema = new Schema({
    name: String
  , type: String
});

// we want to use this on an instance of Animal
AnimalSchema.methods.findSimilarType = function findSimilarType (cb) {
  return this.find({ type: this.type }, cb);
};

var Animal = mongoose.model('Animal', AnimalSchema);
var dog = new Animal({ name: 'Rover', type: 'dog' });

// dog is an instance of Animal
dog.findSimilarType(function (err, dogs) {
  if (err) return ...
  dogs.forEach(..);
})

정적은 인스턴스와 상호 작용하지 않고 모델 관련 작업을 수행하려는 경우에 사용됩니다(예: 'Rover'라는 이름의 모든 동물 검색).

모델의 인스턴스(DB)를 삽입/업데이트하려면methods가는 길입니다.저장/업데이트가 필요한 경우 다음을 사용할 수 있습니다.save함수(Mongoose에 이미 존재함).예:

var Animal = mongoose.model('Animal', AnimalSchema);
var dog = new Animal({ name: 'Rover', type: 'dog' });
dog.save(function(err) {
  // we've saved the dog into the db here
  if (err) throw err;

  dog.name = "Spike";
  dog.save(function(err) {
    // we've updated the dog into the db here
    if (err) throw err;
  });
});

.save()를 호출하는 함수를 만들 필요는 없다고 생각합니다.모델이 저장되기 전에 수행해야 하는 작업은 .pre()를 사용하여 수행할 수 있습니다.

모델이 생성 중인지 업데이트 중인지 확인하려면 이 항목을 확인하십시오.isNew()

언급URL : https://stackoverflow.com/questions/8987851/creating-methods-to-update-save-documents-with-mongoose

반응형