1
import "go.mongodb.org/mongo-driver/bson"
import "go.mongodb.org/mongo-driver/bson/primitive"
import "go.mongodb.org/mongo-driver/mongo"
import "go.mongodb.org/mongo-driver/mongo/options"

func count() int{
     collection := client.Database("thepolyglotdeveloper").Collection("people")
    filter := bson.M{"sig": bson.M{ "$eq": "sdfsdf" }}//iv.Sig
    cur,_ := collection.Find(context.TODO(), filter)
    count,_ := collection.Count(context.TODO(), filter)
    return count
}

func main(){
    ctx, _ := context.WithTimeout(context.Background(), 10*time.Second)
    clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
    client, _ = mongo.Connect(ctx, clientOptions)
    .....
}

收到的错误:-

# command-line-arguments
./example.go:131:23: collection.Count undefined (type *mongo.Collection has no field or method Count)

我相信我没有使用正确的计数方法。我正在使用它来找出数据库中是否存在任何带有过滤器的记录。请建议。

count,_ := collection.Count(context.TODO(), filter)

是不是正确的用法。

4

1 回答 1

1

EstimatedDocumentCount 和 CountDocuments 是用于获取集合中文档数量的方法。

请参阅 MongoDB Go 驱动程序的通用文档以了解可用功能:

https://godoc.org/go.mongodb.org/mongo-driver/mongo

于 2019-09-30T05:04:20.673 回答