Recibo un error de una aplicación de Node. Busco en Internet pero no encontré ninguna solución, todo es igual que el video que he visto, en el video no hay error, pero en mi código este error ocurrió una y otra vez,
Esta es mi aplicación.js
//jshint esversion:6 const MongoClient = require('mongodb').MongoClient; const assert = require('assert'); // Connection URL const url = 'mongodb://localhost:27017'; // Database Name const dbName = 'fruitsDB'; // Use connect method to connect to the Server MongoClient.connect(url, function(err, client) { assert.equal(null, err); console.log("Connected correctly to server"); const db = client.db(dbName); // Insert a single document db.collection('inserts').insertOne({a:1}, function(err, r) { assert.equal(null, err); assert.equal(1, r.insertedCount); // Insert multiple documents db.collection('inserts').insertMany([{a:2}, {a:3}], function(err, r) { assert.equal(null, err); assert.equal(2, r.insertedCount); client.close(); }); }); });
cuando escribo en gitbash node app.js, se produjo este error, esta es la consola
$ node app.js Connected correctly to server node:assert:123 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: 1 == undefined at D:\text editor\web_pros\FruitsProject\app.js:21:12 at D:\text editor\web_pros\FruitsProject\node_modules\mongodb\lib\utils.js:5 10:9 at D:\text editor\web_pros\FruitsProject\node_modules\mongodb\lib\operations \execute_operation.js:48:55 at D:\text editor\web_pros\FruitsProject\node_modules\mongodb\lib\utils.js:5 10:9 at completeEndSession (D:\text editor\web_pros\FruitsProject\node_modules\mo ngodb\lib\sessions.js:147:17) at D:\text editor\web_pros\FruitsProject\node_modules\mongodb\lib\sessions.j s:157:13 at maybePromise (D:\text editor\web_pros\FruitsProject\node_modules\mongodb\ lib\utils.js:496:5) at ClientSession.endSession (D:\text editor\web_pros\FruitsProject\node_modu les\mongodb\lib\sessions.js:133:41) at D:\text editor\web_pros\FruitsProject\node_modules\mongodb\lib\operations \execute_operation.js:48:36 at D:\text editor\web_pros\FruitsProject\node_modules\mongodb\lib\operations \insert.js:53:13 { generatedMessage: true, code: 'ERR_ASSERTION', actual: 1, expected: undefined, operator: '==' }
Veo videos más antiguos e intento conectar la aplicación a la base de datos. tal vez hay algunas actualizaciones
El resultado del método insertOne
no tiene la propiedad insertedCount
porque, si tiene éxito, el número de documentos insertados será, por definición, 1
.
Si la base de datos no puede insertar el documento, llamará a la devolución de llamada con un error no nulo. Esto se aplica tanto a errores generales como a llaves duplicadas.
Por lo tanto assert.equal(null, err)
ya comprueba lo que desea que assert.equal(1, r.insertedCount)
compruebe. Simplemente puede eliminar esa aserción insertedCount
.
Tenga en cuenta que la propiedad insertedCount
existe para insertMany
, por lo que la afirmación allí es válida.