Below I have an if-else statement to push the item into the inventory array if it doesn't exist, else it'll update the item count.
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 } });
}
However, I keep getting an error that it's attempting to create a name field? Furthermore, I've looked at duplicate questions but none of the answers seemed to have helped.
MongoServerError: Cannot create field 'name' in element {inventory: [ //inventory items etc ] } ]}