在MongoDB中有一个很是神奇的符号 "$"blog
"$" 在 update 中 加上关键字 就 变成了 修改器io
其实 "$" 字符 独立出现也是有意义的 , 我起名叫作代指符test
首先看个例子: 仍是这个Collectiondate
如今把 "score": 100 的 test_list 里面的 2 改成 9im
{$set :{"test_list.0" : 9}} 这样就是对应 Array 中的下标进行修改了 "test_list.下标"数据
问题来了 若是 是 一个很长很长很长的 Array 你要查找其中一个值,把这个值修改一下怎么整呢?查询
神奇不神奇?db
$ 字符 在语句中表明了什么呢? 下标,位置img
解释一下: 首先咱们查询一下db.Oldboy.findOne({"score":100,"test_list":3}) 返回 给咱们知足条件的数据对吧co
那么 若是 咱们 使用 update的话, 知足条件的数据下标位置就会传递到 $ 字符中,在咱们更新操做的时候就至关于 对这个位置 的元素进行操做