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}})

留言

熱門文章