Zapytanie o filtr crossfilter

Czy jest możliwe filtrowanie zestawu danych crossfilter, który ma tablicę jako wartość?

Na przykład powiedzmy, że mam następujący zestaw danych:

var data = [
  {
    bookname: "the joy of clojure",
    authors: ["Michael Fogus", "Chris Houser"],
    tags: ["clojure", "lisp"]
  },
  {
    bookname: "Eloquent Ruby",
    authors: ["Russ Olsen"],
    tags: ["ruby"]
  },
  {
    bookname: "Design Patterns in Ruby",
    authors: ["Russ Olsen"],
    tags: ["design patterns", "ruby"]
  }
];

Czy istnieje łatwy sposób na dostęp do książek oznaczonych określonym tagiem? A także książki, które mają konkretnego autora? Jak dotąd rozumiem, jak używać crossfiltera, robię coś takiego:

var filtered_data = crossfilter(data);
var tags = filtered_data.dimension(function(d) {return d.tags});
var tag = tags.group();

A potem, kiedy uzyskuję dostęp do grupowania (tak):

tag.all()

Rozumiem:

[{key: ["clojure", "lisp"], value: 1}, 
 {key: ["design patterns", "ruby"], value: 1}, 
 {key: ["ruby"], value: 1}]

Kiedy wolę to mieć:

[{key: "ruby", value: 2}, 
 {key: "clojure", value: 1}, 
 {key: "lisp", value: 1},
 {key: "design patterns", value: 1}]

questionAnswers(2)

yourAnswerToTheQuestion