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

Como fazer operações brutas do mongodb no mongoose?


Você pode executar comandos mongodb usando o driver NodeJS nativo usando mongoose.connection.db . Isso acessa o driver NodeJS MongoDB e você não precisa criar um modelo de mangusto .

Uma inserção

mongoose.connection.db.collection('userCollection').insert({
  username: 'captain1',
  firstName: 'Steve',
  lastName: 'Rogers', 
});

Uma atualização

mongoose.connection.db.collection('userCollection').update(
  {someFilterProperty: true},
  {$set: {
     siteId: new mongoose.mongo.ObjectId('56cb91bdc5946f14678934ba'),
     hasNewSiteId: true}},
  {multi: true});
});

Você pode enviar cada comando específico para esse banco de dados usando a referência de banco de dados de conexão de banco de dados mongoose.connection.db .

Este é o documento da API do mongoose:http://mongoosejs.com/docs/api.html#connection_Connection-db

Importante :Observe que algumas das opções no driver NodeJS são diferentes das opções nos comandos do shell do MongoDB. Por exemplo findOneAndUpdate() usa returnOriginal em vez de returnNewDocument . Veja aqui e aqui para saber mais sobre isso.