- SMoveByTwoBuckets
SMoveByTwoBuckets
将member从source集合移动到destination集合中。其中source集合和destination集合在两个不同的bucket中。
bucket4 := "bucket4"bucket5 := "bucket5"if err := db.Update(func(tx *nutsdb.Tx) error {return tx.SAdd(bucket4, []byte("mySet1"), []byte("a"), []byte("b"), []byte("c"))}); err != nil {log.Fatal(err)}if err := db.Update(func(tx *nutsdb.Tx) error {return tx.SAdd(bucket5, []byte("mySet2"), []byte("c"), []byte("d"), []byte("e"))}); err != nil {log.Fatal(err)}if err := db.Update(func(tx *nutsdb.Tx) error {if ok, err := tx.SMoveByTwoBuckets(bucket4, []byte("mySet1"), bucket5, []byte("mySet2"), []byte("a")); err != nil {return err} else {fmt.Println("SMoveByTwoBuckets", ok)}return nil}); err != nil {log.Fatal(err)}if err := db.View(func(tx *nutsdb.Tx) error {if items, err := tx.SMembers(bucket4, []byte("mySet1")); err != nil {return err} else {fmt.Println("after SMoveByTwoBuckets bucket4 mySet1 SMembers", items)for _, item := range items {fmt.Println("item", string(item))}}return nil}); err != nil {log.Fatal(err)}if err := db.View(func(tx *nutsdb.Tx) error {if items, err := tx.SMembers(bucket5, []byte("mySet2")); err != nil {return err} else {fmt.Println("after SMoveByTwoBuckets bucket5 mySet2 SMembers", items)for _, item := range items {fmt.Println("item", string(item))}}return nil}); err != nil {log.Fatal(err)}
