I need to write down a category and its cost in category object. Now, in my code example, I am adding the products: $50 category to the user. After execution, ‘categories’: { products: ’50$’ } is displayed in the console. But if you add products: 1000$ again, it will overwrite and output ‘categories’: { products: ‘1000$’ }. And I need to display ‘categories’: { products: ‘$50’ , products: ‘$1000’ }. How can this be implemented?
mongoClient.connect(function (err, client) { if (err) return console.log(err); const db = client.db("db"); const col = db.collection("coll"); col.findOneAndUpdate( { name: "User1", }, { $set: { "сategories.products": "50$", }, }, function (err, result) { console.log(result); client.close(); } ); });
Advertisement
Answer
Instead of
$set: { "сategories.products": "50$" }
use
$addToSet: { сategories: { products: "1000$" } }