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のを追加することですが、私は何かを期待していましたこれは、私のfind()が始まるカーソルとして、このMongooseリファレンス(thisPost)を使用することを可能にします。
ありがとうございました
編集:この繰り返しは、複数のページのクエリを処理するためのものです。より良い例:
//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