在MongoDB中有一個非常神奇的符號 "$"
"$" 在 update 中 加上關鍵字 就 變成了 修改器
其實 "$" 字符 獨立出現也是有意義的 , 我起名叫做代指符
首先看個例子: 還是這個Collection
現在把 "score": 100 的 test_list 里面的 2 改為 9
{$set :{"test_list.0" : 9}} 這樣就是對應 Array 中的下標進行修改了 "test_list.下標"
問題來了 如果 是 一個很長很長很長的 Array 你要查找其中一個值,把這個值修改一下怎么整呢?
神奇不神奇?
$ 字符 在語句中代表了什么呢? 下標,位置
解釋一下: 首先我們查詢一下db.Oldboy.findOne({"score":100,"test_list":3}) 返回 給我們滿足條件的數據對吧
那么 如果 我們 使用 update的話, 滿足條件的數據下標位置就會傳遞到 $ 字符中,在我們更新操作的時候就相當於 對這個位置 的元素進行操作