nodejs의 컬렉션을 통해 다른 ID를 반복하려고합니다. 다음 코드와 같이 일하는 것이 뭔가 :Mongoose - 다음 요소로 이동
//Callbacks removed for readability
var thisPost = mongoose.model('Post').findOne({tags: 'Adventure'});
console.log(thisPost.title); // 'Post #1 - Adventure Part 1'
var nextPost = thisPost.next({tags: 'Adventure');
console.log(nextPost.title); // 'Post 354 - Adventure Part 2'
최고의 아이디어 지금까지 내가 전화를 찾을 수 있도록 특정 ID에 내 옆에있는 참조를 통해() 내 스키마에 LinkedList의를 추가하는 것입니다하지만 난 뭔가를 기대했다 덜 복잡하기 때문에이 Mongoose 참조 (thisPost)를 커서로 사용하여 find()를 시작할 수 있습니다.
감사합니다.
EDIT : 반복은 여러 페이지 쿼리를 처리하기위한 것입니다. 더 나은 예 :
//Callbacks removed for readability
//User 'JohnDoe' visits the website for the first time
var thisQuote = mongoose.model('Quote').findOne().skip(Math.rand());
res.send(thisQuote); // On page output, JohnDoe will see the quote 42
//Saving the current quote cursor to user's metadatas
mongoose.model('User').update({user: 'JohnDoe'}, {$set: {lastQuote: thisQuote }});
//User 'JohnDoe' comes back to the website
var user = mongoose.model('User').findOne({user: 'JohnDoe});
var thisQuote = user.lastQuote.next();
res.send(thisQuote); // On page output, JohnDoe will see the quote 43
//Saving the current quote cursor to user's metadatas
mongoose.model('User').update({user: 'JohnDoe'}, {$set: {lastQuote: thisQuote }});
//And so on...
마지막으로이 버전을 사용하지 않았지만 설명서에서 볼 때 스트림이 내가 원하는 것을 수행하는 가장 좋은 방법입니다. 비록 내 애플 리케이션의 현재 코드 아키텍처에 의존 많은 이유로 그것을 사용하지 않을거야 :) – red
나는 내 대답을 기반으로 귀하의 업데이 트를 수정했습니다. –
와우. 어제 데이터베이스에 링크 된 목록을 사용하여 구현했지만 답변이 너무 간단합니다. 직접 생각하지 않으면 부끄럽습니다. 당신의 생각에 대한 명성과 백만 분의 응답을 주셔서 감사합니다 :) – red