我正在使用节点js和mongodb。我有这个路线代码
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
});
});
});
这是为了从数据库中获取所有标记列表,并将响应呈现到taglist.jade
,如下所示 -
extends layout
block content
h1.
Tag List
ul
each tag, i in taglist
li
#{tag.tagname}= tag._id
现在我想搜索已存储在我的tagname
集合中的taglist
,并希望存储属于标记名的ID,并将其存储在另一个集合中。
现在我的代码只是查找所有tagname
并在浏览器中打印所有tag_id
。我是Web应用程序的新手,刚刚开始使用node和MongoDB。
更新
第一个代码获取所有tagcollection
数据,第二个代码显示每个文档的所有id
。但这不是我所期望的。
我正在解释我的期望 -
假设tagcollection
包含2个或更多documents
。
{
"_id" : ObjectId("ksjsed3cccjdkmx"),
"tagname" : "dinner"
}
{
"_id" : ObjectId("skd9a93cccb8kdn"),
"tagname" : "music"
}
依旧......
首先,我想搜索music
代码
如果我在music
中找到了tagcollection
标记,那么它会显示id
music
个标记,并将此id
存储在新集合中(例如newtagcollection
1}})
答案 0 :(得分: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!