Эх сурвалжийг харах

新增EstimatedDocumentCount统计总数

wangchuanjin 4 жил өмнө
parent
commit
33712b4567

+ 7 - 1
src/mongodb/mongodb.go

@@ -441,7 +441,13 @@ func (m *MongodbSim) CountByErr(c string, q interface{}) (int, error) {
 	defer catch()
 	defer catch()
 	m.Open()
 	m.Open()
 	defer m.Close()
 	defer m.Close()
-	res, err := m.C.Database(m.DbName).Collection(c).CountDocuments(m.Ctx, ObjToM(q))
+	var res int64
+	var err error
+	if filter := ObjToM(q); filter != nil && len(*filter) > 0 {
+		res, err = m.C.Database(m.DbName).Collection(c).CountDocuments(m.Ctx, filter)
+	} else {
+		res, err = m.C.Database(m.DbName).Collection(c).EstimatedDocumentCount(m.Ctx)
+	}
 	if err != nil {
 	if err != nil {
 		log.Println("统计错误", err.Error())
 		log.Println("统计错误", err.Error())
 		return 0, err
 		return 0, err