A continuación, tengo una declaración if-else para insertar el elemento en la matriz de inventario si no existe, de lo contrario, actualizará el recuento de elementos.
const player = await client.database.fetchPlayerData(user.id); const item = player.inventory.find(i => i.name === prize); if (!item) { await player.updateOne({ $push: { inventory: { name: prize, count: 1 } } }); } else { await player.updateOne({ 'inventory.name': prize }, { $inc: { 'inventory.$.count': 1 } }); }Sin embargo, sigo recibiendo un error de que está intentando crear un campo de nombre. Además, he mirado preguntas duplicadas pero ninguna de las respuestas parecía haber ayudado.
MongoServerError: Cannot create field 'name' in element {inventory: [ //inventory items etc ] } ]}