| 405 | } |
| 406 | |
| 407 | func testZRem() { |
| 408 | if err := db.Update( |
| 409 | func(tx *nutsdb.Tx) error { |
| 410 | bucket := "myZSet1" |
| 411 | key := []byte("key1") |
| 412 | return tx.ZRem(bucket, key, []byte("val3")) |
| 413 | }); err != nil { |
| 414 | log.Fatal(err) |
| 415 | } |
| 416 | |
| 417 | if err := db.View( |
| 418 | func(tx *nutsdb.Tx) error { |
| 419 | bucket := "myZSet1" |
| 420 | key := []byte("key1") |
| 421 | nodes, err := tx.ZMembers(bucket, key) |
| 422 | if err != nil { |
| 423 | return err |
| 424 | } |
| 425 | fmt.Println("after ZRem key1, ZMembers nodes") |
| 426 | for node := range nodes { |
| 427 | fmt.Println("item:", node.Score, string(node.Value)) |
| 428 | } |
| 429 | return nil |
| 430 | }); err != nil { |
| 431 | log.Fatal(err) |
| 432 | } |
| 433 | } |
| 434 | |
| 435 | func testZRemRangeByRank() { |
| 436 | if err := db.Update( |