SDiffByTwoBuckets

返回一个集合与给定集合的差集的元素。这两个集合分别在不同bucket中。

  1. bucket1 := "bucket1"
  2. key1 := []byte("mySet1")
  3. bucket2 := "bucket2"
  4. key2 := []byte("mySet2")
  5. if err := db.Update(
  6. func(tx *nutsdb.Tx) error {
  7. return tx.SAdd(bucket1, key1, []byte("a"), []byte("b"), []byte("c"))
  8. }); err != nil {
  9. log.Fatal(err)
  10. }
  11. if err := db.Update(
  12. func(tx *nutsdb.Tx) error {
  13. return tx.SAdd(bucket2, key2, []byte("c"), []byte("d"))
  14. }); err != nil {
  15. log.Fatal(err)
  16. }
  17. if err := db.View(
  18. func(tx *nutsdb.Tx) error {
  19. if items, err := tx.SDiffByTwoBuckets(bucket1, key1, bucket2, key2); err != nil {
  20. return err
  21. } else {
  22. fmt.Println("SDiffByTwoBuckets:", items)
  23. for _, item := range items {
  24. fmt.Println("item", string(item))
  25. }
  26. }
  27. return nil
  28. }); err != nil {
  29. log.Fatal(err)
  30. }