2014-07-22 4 views
0

안녕하세요 여러분, 제 문제에 대한 답을 찾는 데 어려움이 있습니다. 별도의 해시 태그를 저장하는 데이터베이스 저장 구독을 원합니다. 각 구독마다 고유 한 해시 태그가 필요하지만 해시 태그 이름에 대한 고유 한 스키마를 사용하면 작동하지 않습니다. 각 해시 태그 내에 해당 태그에 대한 서비스가 있습니다 (여기에서 내 문제와 관련이 없음). 다음은 내 스키마입니다 ...몽구스/몽고 고유 하위 문서

처음에는 빈 해시 태그 객체가있는 항목을 만드는 가입을 만듭니다. 해시 태그를 주기적으로 추가하고 싶지만 고유해야합니다. 어떻게해야할지 모르겠습니다.

+0

나는 몽구스 사용에 대해서는 아무것도 모르지만'$ addToSet'처럼 들린다. –

답변

0

$ addToSet 연산자를 사용하여 해시 태그 배열에 Hashtag을 추가하려고합니다. 몽구스에서 여러 가지 방법이 있습니다.

Subscription.update({ eventId: id }, { hashtags: { $addToSet: "#trampolines" }}, callback); 
:

var Subscription = mongoose.model("Subscription", SubscriptionSchema); 
var subscription = new Subscription({eventId: 11, hashtags: ["#monkeys"]}); 
subscription.save(callback); // subscription will be saved to database with hashtags = ["#monkeys"] 

// later... 
subscription.hashtags.addToSet("#monkeys", "#trampolines"); 
subscription.save(callback); // subscription now has hashtags = ["#monkeys", "#trampolines"] 

당신은 또한 Model.update 기능을 사용할 수 있습니다 : 나는 조금 완벽한 Hashtag 개체에 대한 String을 대체하여 일을 단순화 한 경우 아래와 같이 예를 들어, MongooseArray#addToSet을 사용할 수 있습니다