router.get('/prevno', async function(req,res,next){
try{
const no = Number(req.query.cno); // 현재의 no
const dbConn = await db.connect(dbUrl)
const coll = dbConn.db("db202").collection("board");
const result = await coll.find(
//미만 {$lt: } <
//이하 {$lte: } <=
//초과 {$gt: } >
//이상 {$gte: } >=
//$set $and $or $는 명령어임
// json에 붙이면 오류가 나서
{_id : {$lt : no}}, //조건 만들기
{projection : {_id : 1}} //필요한 항목만 가지고 오기(_id만)
).sort({_id: -1}).limit(1).toArray();
// find를 쓰면 toArray로 변환을 시켜야 한다.
console.log('board.js/preveno ' ,result)
if(result.length ===1){
return res.send({status: 200, no : result[0]._id})
}
return res.send({status:200, no : 0})
}
catch(err){
console.error(err)
return res.send({status: -1, result : err})
}
})
쿼리의 결과값에서 보여질 field를 정하는건데요, 꽤나 간단합니다. 예제를 통해 배워볼까요?
예제12: article의 title과 content 만 조회
db.articles.find( { } , { “_id”: false, “title”: true, “content”: true } )
db.articles.find( { } , { "_id": false, "title": true, "content": true } )
{ "title" : "article01", "content" : "content01" }
{ "title" : "article02", "content" : "content02" }
{ "title" : "article03", "content" : "content03" }