Когда опция sanitize
установлена, дезинфицирует очередь (или чистят) материалы, представленные на функцию обработки так, что она напоминает, что, когда исходного клиента, помещенного в очередь, и не содержит никаких ключей, добавленных в реализацию самой очереди.
Если, однако, вы полагаетесь на ключ (обычно ключи, начинающиеся с символа подчеркивания, например, _id
), который добавляется в очередь, а не оригинальный клиент, вам необходимо установить sanitize: false
так что эти ключи будут возвращены на ваш и они не undefined
.
Вы можете четко видеть разницу с простой функцией обработки, которая просто выполняет команду console.log(data)
.
Быстрое примечание о том, почему эти ключи удаляются по умолчанию: чтения или записи непосредственно на месте (как это выглядит, как вы, возможно, делаете, переходя undefined
в клиентский SDK child()
метод вместо data._id
) является как правило, плохая идея из самого рабочего, так как непосредственно выполняемые записи не охраняются обширной логикой транзакций в очереди, чтобы предотвратить условия гонки. Если вы можете выделить работу для ввода ввода из поля data
и возврата выходов к функции resolve()
, скорее всего, вам будет лучше масштабировать вашу очередь.
У вас есть хороший образец кода для справки? Я нахожу, что код примера документации для сообщения в чате трудно следовать. –