mongodb如何降序显示所有数据?
mongodb如何实现倒序排列?
在网上查了一下,都是发现需要只能针对特地字段进行排序,比如按照age 或是日期 等
但是我采集的时候,没有这些特征字符
在Mysql可以按照id来进行排序 那么在mongodb有没有比较好的办法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
mongodb如何实现倒序排列?
在网上查了一下,都是发现需要只能针对特地字段进行排序,比如按照age 或是日期 等
但是我采集的时候,没有这些特征字符
在Mysql可以按照id来进行排序 那么在mongodb有没有比较好的办法?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
如果_id是mongo自动生成的就用_id好了,如果_id也是你自己生成的那就只能你自己去定义一个排序的key了。
mongo的_id和mysql的id类似,差不多的。
mysql的你可以设置mysql自增,然后按照这个排序
mongo _id默认也是按照增长的。
MongoDB的文档必须有一个_id键。
目的是为了确认在集合里的每个文档都能被唯一标识。
ObjectId 是 _id 的默认类型。
ObjectId 采用12字节的存储空间,每个字节两位16进制数字,是一个24位的字符串。
12位生成规则:
[0,1,2,3] [4,5,6] [7,8] [9,10,11]
时间戳 |机器码 |PID |计数器
前四位是时间戳,可以提供秒级别的唯一性。
接下来三位是所在主机的唯一标识符,通常是机器主机名的散列值。
接下来两位是产生ObjectId的PID,确保同一台机器上并发产生的ObjectId是唯一的。前九位保证了同一秒钟不同机器的不同进程产生的ObjectId时唯一的。
最后三位是自增计数器,确保相同进程同一秒钟产生的ObjectId是唯一的
基本上就是在文件中的顺序(因此往往也是insert的顺序)。
直接按照 mongodb 隐式创建的对象的 _id 进行倒序即可, 就是你想要的
MongoDb原声语句: {$sort: {FieldName:1或者-1}}
1:表示升序
-1:表示降序
mongodb的python写法是:db[table].find().sort("user_id",1或-1) #同样升序和降序
mongodb的java写法是: collection.find(filter_dbobject).limit(10).sort(newBasicDBObject("create_time",-1));