복붙노트

[MONGODB] 어떻게 스키마를 정의하지 않고 몽구스를 사용합니까?

MONGODB

어떻게 스키마를 정의하지 않고 몽구스를 사용합니까?

몽구스의 이전 버전 (Node.js를 위해) 스키마를 정의하지 않고 사용 할 수있는 옵션이 있었다

var collection = mongoose.noSchema(db, "User");

그러나 현재 버전에서 "noSchema"기능이 제거되었습니다. 내 스키마는 그래서 몽구스에 사용되는 스키마없는 모델에 대한 새로운 방법이 가능성이 정의 된 스키마에 맞지 않는 정말 자주 변경하고 있습니까?

해결법

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

    1.나는 이것이 당신이 몽구스 엄격한 찾고있는 무슨 생각

    나는 이것이 당신이 몽구스 엄격한 찾고있는 무슨 생각

    옵션 : 엄격한

    (기본적으로 활성화) 엄격한 옵션, 우리의 스키마에 지정되지 않은 우리의 모델 인스턴스에 추가 된 값이 DB에 저장되지 않도록합니다.

    참고 : 당신이 좋은 이유가없는 한 마 false로 설정되지 않았습니다.

        var thingSchema = new Schema({..}, { strict: false });
        var Thing = mongoose.model('Thing', thingSchema);
        var thing = new Thing({ iAmNotInTheSchema: true });
        thing.save() // iAmNotInTheSchema is now saved to the db!!
    
  2. ==============================

    2.실제로 "혼합"(Schema.Types.Mixed) 모드는 몽구스 정확히 그렇게 보인다 ...

    실제로 "혼합"(Schema.Types.Mixed) 모드는 몽구스 정확히 그렇게 보인다 ...

    당신이 그것에 던질 수있는 무엇 때문에 - 그것은 스키마 이하, 자유 JS 객체를 받아들입니다. 트리거가 수동으로 나중에 그 객체에 저장에 당신이 보인다, 그러나 그것은 공정한 트레이드 오프처럼 보인다.

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

    3.안녕하세요 크리스, Mongous를보십시오. 내가 개발에 지금 매우 자주 내 스키마 변화로, 몽구스와 같은 문제가 발생했다. 느슨하게 정의하고 나의 '스키마'을 변경 할 수있는 동안 Mongous은 나를 몽구스의 단순함을 가질 수. 나는 단순히 표준 자바 스크립트 객체를 구축 그래서 같은 데이터베이스에 저장하기로 결정했습니다

    안녕하세요 크리스, Mongous를보십시오. 내가 개발에 지금 매우 자주 내 스키마 변화로, 몽구스와 같은 문제가 발생했다. 느슨하게 정의하고 나의 '스키마'을 변경 할 수있는 동안 Mongous은 나를 몽구스의 단순함을 가질 수. 나는 단순히 표준 자바 스크립트 객체를 구축 그래서 같은 데이터베이스에 저장하기로 결정했습니다

    function User(user){
      this.name = user.name
    , this.age = user.age
    }
    
    app.post('save/user', function(req,res,next){
      var u = new User(req.body)
      db('mydb.users').save(u)
      res.send(200)
      // that's it! You've saved a user
    });
    

    몽구스보다 훨씬 더 간단합니다, 당신은 "사전"과 같은 멋진 미들웨어 물건을 놓칠 생각 나는 않지만. 나는 그 생각의 어떤 필요하지 않았다. 희망이 도움이!

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

    4.더 이상 그 수는 없습니다.

    더 이상 그 수는 없습니다.

    당신은 스키마와 노드 드라이버 또는 그 스키마없는 사람을위한 또 다른 몽고 모듈을 가지고있는 컬렉션으로 몽구스를 사용할 수 있습니다.

    https://groups.google.com/forum/#!msg/mongoose-orm/Bj9KTjI0NAQ/qSojYmoDwDYJ

  5. from https://stackoverflow.com/questions/5370846/how-do-you-use-mongoose-without-defining-a-schema by cc-by-sa and MIT license