Emitting the document as the value is strongly discouraged. It’s not necessary, as you’ve seen, and it can greatly slow down indexing because of the extra JSON conversions. In general you should only emit the values you need for your queries. If you don’t need values, or if you just want to grab the documents, emit nil for the value.
(The reason some people do it is because accessing the document via the query row value is slightly faster than fetching the document from the database. But the difference is minor, and you pay for it with slower indexing, which can be a real pain point in Couchbase Lite.)
—Jens