Curious how this compares to Couchbase + N1QL, since that gets you a document db that also supports full SQL.
*[_type == "blogpost" && published == true] {
_id, title,
"bodyExcerpt": regexReplace(body, "(.+?)(\. |$)", "\\1"),
author -> { name, category },
"sectionNames": sections -> name
} | order(createdAt desc)[0..20]
I don't know much about N1QL, I will have to read more about it.