假设数据库test中有一个集合t,该集合中有一个文档{"_id":"id","array":["one","two"]}
mongodb中数组下标从0开始。
mongodb中数组支持基于位置的修改,如果想将“array”对应的数组的第一个元素的值从"one"改为"three",可以这样实现
db.t.update({"_id":"id"},{"array.0":"three"})
但是,mongodb中的数组不支持基于位置的查找,如果想查找“array”对应的数组的第一个元素的值,
db.t.find({"_id":"id"},{"array.0":1,"_id":0})
上面这样写不会报错,但是会发现返回的结果是{“array”:["",""]}
不知道是我用法有错,还是mongodb数据库的数组就是不支持基于位置的查找。希望各位大神分享意见。