2012-05-04 3 views
2

Node.js, Mongo 등과 같은 작은 제품 시스템을 구축하려고합니다. 다중 테이블, eav 또는 기타 적합하지 않은 다른 MySQL 메소드를 사용하는 대신 동일한 컬렉션에 다른 유형의 제품을 저장할 수있는 가능성에 대해 Mongo에게 알려졌습니다.몽구스 제품 유형에 따라 다른 속성을 가진 제품 시스템입니다.

튜토리얼을 통해 읽었을 때 처음에는 ProductModel 공급자를 작성하는 데 실패했지만 누군가가 몽구스를 사용해야한다고 제안했습니다.

그러나 Mongoose의 문제는 각 모델에 대해 스키마 세트가 필요하다는 것 같습니다. 첫 번째 아이디어는 제품에 titletype 속성이 있어야한다는 것입니다. 그런 다음 type은 전체 제품 구조를 결정합니다. 예를 들어 dvd 제품에는 디렉터가 있고 t-shirt 제품에는 디렉터가 없지만 크기가 다를 수 있습니다.

몽구스에서 이런 종류의 구조를 구현하는 것이 가능합니까? 각 produt 유형에 대해 스키마를 제공하면 동시에 쿼리 할 수 ​​없다는 것을 이해합니다. 다른 스키마가 다른 컬렉션을 의미합니까? - 나는 그것을 알아낼 수 없었다.

어떤 도움과 안내도 감사합니다. 직접 처리하는 DB를 작성하는 대신 프레임 워크를 사용할 수 있기를 원합니다. (처음에는 무엇을 할 계획 이었지만 누군가 다른 사람이 나보다 잘 했어도 :))

답변

0

몽구스에는 귀하의 경우에 매우 유용 할 수있는 스키마가없는 유형이 있지만 최상의 해결책은 아닐 수도 있습니다.

ProductSchema = new 스키마 ({any : {}});

이 개체에 대해 아무 것도 변경하지 않으면 저장하기 전에 obj.markModified ('field-name')를 사용하여이 개체에 대해 Mongoose에 알릴 필요가 있습니다.

내 제안은 node-mongodb-native 이상의 독자적인 래퍼를 사용하고 있으며, 문제없이 7 ~ 8 개월 동안 프로덕션 환경에서 실행됩니다.

확인할 수있는 mongous이라는 또 다른 라이브러리가 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 Mongoose 스키마는 당신이 말하지 않는 한 엄격하지 않습니다. 그리고 Mongoose.model을 사용할 때 어떤 콜렉션이 사용되는지 분명히 정의 할 수 있습니다. 결합 상속과 내가 내가 뭘 찾고 있다고 생각. –

관련 문제