mongoose查詢有兩種方式執行
- 傳callbaock函數結果會傳給函數
- 不傳callback傳回一個執行個體
傳 遞 c a l l b a c k 方 式 \color{blue}{傳遞callback方式} 傳遞callback方式
articleModel.findOne({articleId:2},function (err,aricle) {
console.log(aricle)
})
不 傳 c a l l b a c k 方 式 \color{blue}{不傳callback方式} 不傳callback方式
let article = articleModel.findOne({articleId:2})
article.exec(function (err,result) {
console.log(result)
})
查詢條件
$or 或關系
$nor 或關系取反
$gt 大于
$gte 大于等于
$lt 小于
$lte 小于等于
$ne 不等于
$in 在多個值範圍内
$nin 不在多個值範圍内
$all 比對數組中多個值
$regex 正則,用于模糊查詢
$size 比對數組大小
$maxDistance 範圍查詢,距離(基于LBS)
$mod 取模運算
$near 鄰域查詢,查詢附近的位置(基于LBS)
$exists 字段是否存在
$elemMatch 比對内數組内的元素
$within 範圍查詢(基于LBS)
$box 範圍查詢,矩形範圍(基于LBS)
$center 範圍醒詢,圓形範圍(基于LBS)
$centerSphere 範圍查詢,球形範圍(基于LBS)
$slice 查詢字段集合中的元素(比如從第幾個之後,第N到第M個元素)
例如:查詢articleId大于5的記錄
$gt大于
articleModel.find({articleId:{$gt:5}},function (err,result) {
console.log(result)
})
例:查詢articleId大于5小于10的記錄
articleModel.find({articleId:{$gt:5,$lt:10}},function (err,result) {
console.log(result)
})
例:查詢前10條記錄
skip(n) 跳過n條記錄
limit(m) 查詢m條記錄
articleModel.find(function (err,result) {
console.log(result)
}).skip(0).limit(10)