mongodb - MongoDB go驱动维护排序顺序
问题描述
我使用以下代码查询我的记录:
cur, err := collection.Find(
ctx,
filter,
options.Find().SetLimit(limit).SetSort(map[string]int{"timestamp": -1, "_id": -1}),
)
但是我通过我的 mongodb 日志注意到,顺序有时会更改...变为 _id: -1, timestamp: -1 这会影响查询结果。如何确保时间戳排在第一位?
解决方案
地图对其元素没有任何顺序保证。bson.D
对元素排序很重要的文档使用 a :
SetSort({{"timestamp",-1},{"_id":-1}})
推荐阅读
- sql-server - MS SQL-SERVER 使用 ref 表更新缺失的字段
- java - 在循环外使用scanner.next()会产生奇怪的结果
- python - Python:多线程复制 - 线程仍然存在
- eclipse - Eclipse 启动配置误导
- android - Chromecast CAF - 自动重新连接管理
- c - 将带有 unicode 字符的 C 程序移植到 Windows
- php - 使用 Prepared 语句一次查询两个数据库
- python - Google Dataflow:在 Python 中使用 BigQuery+Pub/Sub 运行动态查询
- tensorflow - 非法指令(核心转储)-Tensorflow GPU
- javascript - 反应 | 使用创建选择器和隐藏菜单项传递 Redux 状态