本文整理匯總了Golang中github.com/garyburd/go-mongo/mongo.Cursor類的典型用法代碼示例。如果您正苦於以下問題:Golang Cursor類的具體用法?Golang Cursor怎麽用?Golang Cursor使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Cursor類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: traverseQueryResult
func traverseQueryResult(cursor mongo.Cursor, limit int) []mongo.M {
foods := make([]mongo.M, 0)
i := 0
for cursor.HasNext() && i < limit {
var m mongo.M
err := cursor.Next(&m)
if nil != err {
log.Println("decode mongo map fail|", err)
continue
}
foods = append(foods, m)
i++
}
return foods
}
示例2: expectCount
// expectCount iterates through the cursor results and logs a fatal error if
// the number of documents is not equal to n.
func expectCount(cursor mongo.Cursor, n int) {
defer cursor.Close()
i := 0
for cursor.HasNext() {
i += 1
var m mongo.M
err := cursor.Next(&m)
if err != nil {
log.Fatal(err)
}
}
if i != n {
log.Fatalf("Got result count=%d, want %d", i, n)
}
}
示例3: expectFieldValues
// expectFieldValues iterates through the cursor and logs a fatal error if
// the a document does not have field in values or if a value in values was not
// found in a document.
func expectFieldValues(cursor mongo.Cursor, field string, values ...interface{}) {
defer cursor.Close()
found := map[interface{}]bool{}
for cursor.HasNext() {
var m mongo.M
err := cursor.Next(&m)
if err != nil {
log.Fatal(err)
}
found[m["name"]] = true
}
for _, value := range values {
if !found[value] {
log.Fatalf("Expected result %v not found\n", value)
} else {
delete(found, value)
}
}
for value, _ := range found {
log.Fatalf("Unexpected result %v found\n", value)
}
}