2016-05-05 11 views
3

ノードjsとmongodbを使用しています。私は、これはコレクションから目的のフィールドの値を取得し、そのIDを別のコレクションに格納する方法

extends layout 

    block content 
    h1. 
     Tag List 
    ul 
     each tag, i in taglist 
      li 

       #{tag.tagname}= tag._id 

below-与えられたデータベースとtaglist.jadeにレンダリング応答からすべてのタグリストを取得するためである

router.get('/taglist', function(req, res) { 
    var db = req.db; 
    var collection = db.get('tagcollection'); 
    collection.findOne({},{},function(e,docs){ 
     res.render('taglist', { 
      "taglist" : docs 
     }); 
    }); 
}); 

この経路コードこれを持っている今、私はすでにあるtagnameを検索します私のtaglistコレクションに格納されていて、一致したタグネームに属するそのIDを別のコレクションに格納して保存したいとします。

今、私のコードは、すべてtagnameを見つけて、ブラウザにtag_idのすべてを印刷しています。私はWebアプリケーションで新しく、ノードとMongoDBで始まったばかりです。すべてtagcollectionデータと第2の1つを得る

UPDATE

最初のコードは、このdocument.butそれぞれのすべてidを表示していることは、私が期待していたものではありません。

私は期待していることを説明しています。 tagcollectionに2つ以上のdocumentsが含まれているとします。最初

{ 
    "_id" : ObjectId("ksjsed3cccjdkmx"), 
    "tagname" : "dinner" 
} 
{ 
    "_id" : ObjectId("skd9a93cccb8kdn"), 
    "tagname" : "music" 
} 

のように... 私はmusicタグ を検索したい私はmusicタグが私のtagcollectionで販売されていた場合、それは言う(idmusicのタグを表示し、新しいコレクションでこのidを保存しますnewtagcollection中)

+0

達成するために何を達成しようとしているのか、詳しくは必要ありません... –

+0

@AlexandruOlaruが更新されました –

答えて

1

router.js:

router.get('/searchtag/:tag', function(req, res) { 
    var db = req.db; 
    var collection = db.collection('tagcollection'); 
    collection.findOne({ tagname: req.params['tag'] }, function(e, result) { 
     res.render('searchtag', { tag: result }); 
    }); 
}); 

searchtag.pug:

extends layout 

    block content 
    h1. 
     Tag Search 

    if tag 
     p= tag.tagname + ' = ' + tag._id; 
    else 
     p Tag not found! 
関連する問題