mysql - mongo如何对一个collection进行顺序上的调整呢?
问题描述
如题目所说,我这里在mongo中有一个collection,需要往里面插入一些数据,但是我想把插入的这几个数据在这个collection的前几位显示,大家有什么好的办法没?在此先谢过了
问题解答
回答1:一个 collection 里的自然顺序是由 mongodb 自己管理的,你控制不了。如果你需要按某种顺序使用数据,那就直截了当地告诉 mongodb 按什么排序。
回答2:使用mongodb的排序功能吧, 你可以在你插入的数据上取一个可以用于排序的字段升序或是降序排列,1是升,-1是降
db.coll.find({}).sort({’字段’: 1})回答3:
很遗憾你要做的事情没有办法实现。从JSON规范可以看出
An object is an unordered set of name/value pairs.
集合是无序的,所以没有办法控制显示的时候元素出现的位置。不过换个角度想想,这样的功能其实对你来说没有多大意义。
如果是在应用中,你展现给用户的顺序是你自己定义的顺序,跟本身的元素出现顺序无关;
如果在数据库中,实际上只有数据库管理员能看到,这个顺序也只对某个管理员有意义;
在我看来这不是一个很难的功能,之所以没有实现,因为没有什么实用价值,而只会拖慢数据库的速度,这就有违数据库本身的价值观了:数据库的主要目的是高效地为你提供数据,不是以不同的形式展现数据,展现数据应该是应用要关心的事情。如果你实在想看某几个值,应该通过projection来控制输出的元素而不是依赖原来的顺序。
相关文章:
1. javascript - swiper.js嵌套了swiper 初始设置不能向下一个滑动 结束后重新初始2. angular.js - angular-ui-bootstrap 报错无法使用?3. 为什么span的color非要内联样式才起作用?4. docker - 如何修改运行中容器的配置5. python - 如何修改twisted自带的日志输出格式?6. 老师,请问我打开browsersync出现这个问题怎么解决啊?7. 请问一下各位老鸟 我一直在学习独孤九贱 现在是在tp5 今天发现 这个系列视频没有实战8. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?9. html5 - H5做的手机分享页微信更新后,分享出去不再默认显示第一个图 作为缩略图10. 高并发写入和更新mysql

网公网安备