sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo hacer operaciones mongodb sin procesar en mongoose?

Puede ejecutar comandos mongodb usando el controlador nativo NodeJS usando mongoose.connection.db . Esto accede al controlador NodeJS MongoDB, y no necesita crear un modelo mongoose .

Un inserto

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

Una actualización

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

Puede enviar cada comando específico a esa base de datos utilizando la referencia de base de datos de conexión de base de datos mongoose.connection.db .

Este es el documento de la API de mongoose:http://mongoosejs.com/docs/api.html#connection_Connection-db

Importante Nota:Tenga en cuenta que algunas de las opciones en el controlador NodeJS son diferentes a las opciones en los comandos de shell de MongoDB. Por ejemplo findOneAndUpdate() usa returnOriginal en lugar de returnNewDocument . Consulte aquí y aquí para obtener más información sobre esto.