mongodb对于数组基于位置的查找和修改注意点
2016-10-24 18:10
239 查看
假设数据库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数据库的数组就是不支持基于位置的查找。希望各位大神分享意见。
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数据库的数组就是不支持基于位置的查找。希望各位大神分享意见。
相关文章推荐
- 对于一个有序数组,我们通常采用二分查找的方式来定位某一元素,请编写二分查找的算法,在数组中查找指定元素。 给定一个整数数组A及它的大小n,同时给定要查找的元素val,请返回它在数组中的位置(从0开始),若不存在该元素,返回-1。若该元素出现多次,请返回第一次出现的位置。
- 关于MongoDB中对于Collection中的Array数组的注意事项
- 查找某个值在在数组中哪个位置,不一定这个值在这个数组中,只要这个值在这个数组范围中就可以(常用于根据经验值获取等级)
- 查找数组中匹配的字符(串)的位置
- 写正确程序需要注意的地方:一个数组是有一个递减数列座椅若干位形成的,在这种数组中查找某一个数。
- PHP基于二分法实现数组查找功能示例【循环与递归算法】
- javascript 数组两个扩展:查找值的索引位置,删除指定索引位置的成员
- JavaScript CSS修改学习第一章 查找位置
- 【小米校招笔试】一个数组是由有序数组经过n次循环移动后所得,请你用最快速度查找某个元素位置
- Array类型(数组项操作和位置查找)
- 对于一个有序(升序排列)的数组a,查找所有比i(i不在a中)大的数,请写出关键代码
- lastIndexOf() 找出指定元素出现的所有位置(返回的是下标数组)---lastIndexOf() 这个方法是倒叙查找,正序的是indexOf()
- 33.在旋转排序的数组中查找某值位置
- php中array_unshift()修改数组key注意事项分析
- (二分查找思想)从有序递增旋转数组45679123 中找到数字6的位置
- Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置
- 程序员面试金典: 9.11 排序与查找 11.1编写一个方法,对字符串数组进行排序,将所有变位词排在相邻的位置。
- 如何修改MONGODB字段的数组,不用整个字段修改
- 算法实验一:二分查找算法改进: 当搜索元素x不存在时,返回小于x的最大元素位置i和大于x的最小元素位置j. 当搜索元素在数组中时,i和j相同,均为x在数组中的位置。