src/github.com/mongodb/mongo-go-driver/mongo/cursor.go
// Copyright (C) MongoDB, Inc. 2017-present. // // Licensed under the Apache License, Version 2.0 (the "License"); you may // not use this file except in compliance with the License. You may obtain // a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
package mongo
import ( "context"
"github.com/mongodb/mongo-go-driver/bson" )
// Cursor instances iterate a stream of documents. Each document is // decoded into the result according to the rules of the bson package. // // A typical usage of the Cursor interface would be: // // var cur Cursor // ctx := context.Background() // defer cur.Close(ctx) // // for cur.Next(ctx) { // elem := bson.NewDocument() // if err := cur.Decode(elem); err != nil { // log.Fatal(err) // } // // // do something with elem.... // } // // if err := cur.Err(); err != nil { // log.Fatal(err) // } // type Cursor interface { // NOTE: Whenever ops.Cursor changes, this must be changed to match it.
// Get the ID of the cursor. ID() int64
// Get the next result from the cursor. // Returns true if there were no errors and there is a next result. Next(context.Context) bool
Decode(interface{}) error
DecodeBytes() (bson.Reader, error)
// Returns the error status of the cursor Err() error
// Close the cursor. Close(context.Context) error }
|
请发表评论