mongodb里的_id的获取与使用
一、git形式的query传参git路径传参,点击a链接在网址栏可得到/lydetail?id,然后可在index.js文件接收这个id,路由名为/lydetail<a href="/lydetail?id=<%-item._id %>"><%-item.title %></a&
文章共545字 · 阅读需要大约2分钟
一键AI生成摘要,助你高效阅读
问答
·
一、git形式的query传参
git路径传参,点击a链接在网址栏可得到/lydetail?id,然后可在index.js文件接收这个id,路由名为/lydetail
<a href="/lydetail?id=<%-item._id %>"><%-item.title %></a>
<table class="table">
<tr><th>序号</th><th>标题</th><th>内容</th></tr>
<% list.map(function(item,i){ %>
<tr>
<td><%-i+1 %></td>
<!--点击a链接在网址栏可看到/lydetail?id-->
<td><a href="/lydetail?id=<%-item._id %>"><%-item.title %></a></td>
<td><%-item.con %></td>
</tr>
<% }) %>
</table>
二、在index.js里面接收/lydetail?id
注意:此时用req.query.id获取的id不是mongodb里的_id,所以必须要用以下对象获取
var ObjectId = require('mongodb').ObjectId;
id = ObjectId(req.query.id); 此时的id才是ajax传过来的id,才能与数据库对照
var ObjectId = require('mongodb').ObjectId; //mongodb自带对象
router.get('/lydetail',(req,res)=>{
console.log(req.query) //获取get传参
var id = ObjectId(req.query.id); //此时的id才是ajax传过来的id,才能与数据库对照
mongodb.connect(db_str,(err,database)=>{
database.collection('goods',(err,coll)=>{
coll.find({_id:id}).toArray(function(err,data){
res.render('liuyan',{list:data[0].con}) //list值可渲染到liuyan.ejs页面
database.close()
})
//coll.find({}).sort({_id:-1}).toArray((err,data)=>{
// res.render('liuyan',{list:data})
// database.close()
//})
})
})
})
然后点击a标签时就会得到数据库相对应的id,然后就可以获取数据库对应的值,然后来渲染页面(可用于点击进入详情页,例如:新闻列表)
.........然后,页面就显示出来了.......................
更多推荐
已为社区贡献2条内容
所有评论(0)