2013-03-08 3 views
0

처음으로 mongodb를 사용합니다. 서버 측에서 node.js와 mongojs를 사용하고 있습니다. 조금 혼란스러워. db.save의 반전 찾을 수있다, 나는 비슷한 할 수 있도록하고 싶습니다 :컬렉션 형식으로 MongoDB를 저장 - 다른 방법은?

db.furni.find(db.furni_types.chair, db.furni_types.chair.plastic); 

현재 설정 :

// Chair types 
db.furni_types.save({ type: "chair", material: "wood" }); 
db.furni_types.save({ type: "chair", material: "plastic" }); 
db.furni_types.save({ type: "chair", material: "beanbag" }); 

// other furni types 
db.furni_types.save({ type: "bed", material: "silk" }); 
db.furni_types.save({ type: "table", effect: "glass" }); 


db.furni.save({id: "13626450", name: "ComfyMan", type: "chair", material: "wood", description: "The most comfortable chair in extistence."}); 

몇 가지 질문 :

암의 I를 이게 올바른 방향으로가는거야? 뭐?

배열을 db.furni.save (type : "chair", material : "wood")에서 찾았습니까? 나중에 객체로 사용하고 싶다면 충분합니까?

내가 좋아하는 뭔가를하고 싶어하면 어떻게 :

db.furni.save(name: "Super Comfort", db.furni_types.chair, db.furni_types.chair.wood); 

겠습니까 위의 작업을?

+0

'db.furni.find (type : "chair", 재질 : "plastic")의 잘못된 점은 무엇입니까? –

답변

1

이것은 분명히 올바른 방법은 아닙니다. 우선 RDBMS의 사고 방식 (관계형 데이터베이스)이 중요합니다. 이 같은 일을 할 수 있도록하려면 두 번째 경우 :

다음
db.furni.find(db.furni_types.chair, db.furni_types.chair.plastic); 

그냥 것 : 당신이 발견에 전달하는 것은 객체가 그냥 기대하지 수 있도록이라고

db.furni.find({type: "chair", material:"plastic"}); 

쉼표로 구분 된 형식으로 문자열이나 다른 변수의 값을 전달할 수 있습니다. 그런 식으로 모델을 참조 할 수는 없지만 (db.furni_types! = 데이터베이스의 데이터에 대한 직접 접근 자, 찾다").

게시 한 내용과 제안한 내용을 살펴보면 두 가지 모두에 "의자"를 입력하고 두 가지 모두에 "플라스틱"을 입력해야한다면 어떤 가치를 기대할 수 있는지 알 수 있습니다. 제안 된 접근법?

+0

당신은 지금 당장 그것에 대해 생각하고 있습니다. 나는 프로젝트의 미래에 대해 생각하려고 애쓰는 중이다. 앞으로는 특정 기준에 따라 일을하고 싶습니다. 또 다른 것은 데이터베이스와 자바 스크립트를 분리하지 않고 있다는 것입니다. 두 사람은 서로 아주 밀접하게 일하지만 그렇게 가까이 있지 않습니다. –

+0

@LeviRoberts - 이미 몽구스를 보지 않은 경우를 대비하여 몽구스를 좋아할 수도 있습니다. 그것은 문서의 임베딩 및 링크와 같은 것들을위한 많은 구문 론적 설탕을 도울 것이며, 당신이 찾고있는 것 같은 더 많은 설탕 설탕을 제공 할 것입니다. –

+0

감사합니다. Nick! 나는 몽구스를 조금 들여다 보았다. 내 머리 꼭대기에서 나는 왜 내가 그걸 가지고 가지 않기로 결정했는지 기억할 수 없다. 나는 그것이 학습 곡선 때문에라고 생각한다. mongojs를 사용하고 나면, mongo 클라이언트 명령과 더 유사하므로 매우 쉽게 받아 들일 수있었습니다. –

관련 문제