在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數據庫/ mongoose的count使用

mongoose的count使用

問題描述

在nodejs中使用mongoose

const query=myModel.find({name:'xiaoming'});
const total=query.count();
const data=query.skip(20).limit(10);

為什么這樣寫會報錯?
正確的寫法應該怎樣寫?

回答
編輯回答
氕氘氚

查了下文檔,應該是因為你這是兩次查詢,一次count查詢,一次skip加limit查詢,所以你的query查詢永遠都是最先指定的count查詢,所以你第二次的結果其實就是count返回的結果,所以是number類型的數字。

雖然不知道你為啥又不寫回調,又不走Promise形式也能得到結果。我也就這么寫了~

分兩次查詢就行了,因為你第二次查詢是skip加limit,所以應該沒辦法不走2次查詢又能得出總文檔數又能得出分頁查詢得結果。

const query1 = myModel.find({name:'xiaoming'});
const query2 = myModel.find({name:'xiaoming'});
const total = await query1.count().exec(); //所有name為xiaoming的文檔數量
const data = await query2.skip(20).limit(10).exec();
2017年1月29日 23:24