Nếu một trường không tồn tại, thì truy vấn ký hiệu dấu chấm này sẽ tạo nó dưới dạng một hàm băm (đối tượng) và gán giá trị cho các khóa của hàm băm đó. Nếu trường tồn tại và là một mảng, nó sẽ hoạt động như bạn mong đợi. Xem phiên này.
> db.arrays.insert({});
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f") }
> db.arrays.update({ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f") }, {$set: {"a.0": 123}});
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f"), "a" : { "0" : 123 } }
> db.arrays.insert({a: []})
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f"), "a" : { "0" : 123 } }
{ "_id" : ObjectId("4f518cca58713e4dbadbfba0"), "a" : [ ] }
> db.arrays.update({ "_id" : ObjectId("4f518cca58713e4dbadbfba0") }, {$set: {"a.0": 123}});
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f"), "a" : { "0" : 123 } }
{ "_id" : ObjectId("4f518cca58713e4dbadbfba0"), "a" : [ 123 ] }