0

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 ] } ]}
Alsware
  • 26
  • 1
  • I think you looking for that answer [Click here](https://stackoverflow.com/questions/55670619/mongodb-cannot-create-field-x-in-element) – Yarin Levi Jan 24 '22 at 21:20

0 Answers0