MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Aviso de descontinuação do MongoDB mongoose


Atualização:

5.2.10 é lançado e está disponível para download aqui.

Para mais informações sobre os documentos, você pode ver a página https://mongoosejs.com/docs/deprecations

Para obter mais informações sobre o problema e sua correçãohttps://github.com/Automattic/mongoose/issues/6880

Resposta original:

A versão 5.2.9 do Mongoose atualizou o driver mongodb nativo para 3.1.3, no qual foram adicionadas alterações para lançar mensagens de aviso quando o método de driver nativo obsoleto é chamado.

fields opção está obsoleta e é substituída por projection opção.

Você terá que esperar que o mangusto faça alterações no final para substituir a opção de campos por projeção. A correção está agendada para a versão 5.2.10.

Por enquanto, você pode voltar para 5.2.8, que suprimirá todos os avisos de depreciação.
npm install [email protected]

Para todos os outros avisos obsoletos, você deve abordá-los caso a caso.

Você verá outros avisos de descontinuação ao usar outros métodos de coleta.
DeprecationWarning: collection.findAndModify is deprecated. Use findOneAndUpdate, findOneAndReplace or findOneAndDelete instead.
DeprecationWarning: collection.remove is deprecated. Use deleteOne, deleteMany, or bulkWrite instead.
DeprecationWarning: collection.update is deprecated. Use updateOne, updateMany, or bulkWrite instead.
DeprecationWarning: collection.save is deprecated. Use insertOne, insertMany, updateOne, or updateMany instead.
DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.

Todos findOne* métodos de escrita mangusto por padrão usam o findAndModify método que está obsoleto no driver nativo do mongodb.

Use mongoose.set('useFindAndModify', false); para que o mongooose chame o findOne* apropriado método no driver nativo do mongodb.

Para remove e update substitua essas chamadas por delete* e update* métodos respectivamente.

Para save substitua essas chamadas por insert* / update* métodos respectivamente.

Use mongoose.set('useCreateIndex', true); para que o mongooose chame o createIndex método no driver nativo do mongodb.