MongoDB 入門 (6) MongoDB Upserts and save
1. Upserts:
Upserts 就是最後加上的 true,當你設為 true 且找不到對應的文件時,Upserts 會建立一個新文件。
$ db.dogs.update({"name": "black"}, {"$inc": {"age": 1}}, true)
當資料庫中有 "black" 會對其 "age" + 1,否則會建立一個新的文件(以上例來說該文件會具有 "name" 和 "age")。
2. save:
我們可以將找到的資料以變數的方式存下來,該變數會具有資料的所有鍵值(包括 "_id")。假設我們更動了該資料,我們可以用 save 的方式再將變數寫回到該 "_id" 的資料中。
$ var x = db.dogs.findOne({"name":"white"}) $ x.age = 11 $ db.dogs.save(x)
另一種用法類似 insert,它可以在資料不存在的情況下插入資料。
$ var x = {"name": "rdd3"} $ db.dogs.save(x)
3. 更新多個文件:
更新多個文件有兩種方法分別是使用 update 和 updateMany,若要用 update 就要把第四個參數設成 true。
$ db.dogs.update({"name":"doggy"}, {"$inc": {"age": 1}}, false, true) $ db.dogs.updateMany({"name":"doggy"}, {"$inc": {"age": 1}})
留言
張貼留言