mongodb - 使用 FindOne 和 $natural 从 GoLang 中的 mongodb 获取最后插入的元素
问题描述
我正在尝试按照其他地方的建议使用 FindOne 检索最后插入的文档:
collection.FindOne(ctx, bson.M{"$natural": -1})
这是我的例子:
var lastrecord bson.M
if err = collection.FindOne(ctx, bson.M{"$natural": -1}).Decode(&lastrecord); err != nil {
log.Fatal(err)
}
fmt.Println(lastrecord)
不幸的是,我收到以下错误:
(BadValue) unknown top level operator: $natural
如果可能的话,我更喜欢使用 FindOne。
解决方案
您想使用自然顺序进行排序,但您将其指定为过滤器,这就是错误所说的。
用于$natural
指定排序:
opts := options.FindOne().SetSort(bson.M{"$natural": -1})
var lastrecord bson.M
if err = coll.FindOne(ctx, bson.M{}, opts).Decode(&lastrecord); err != nil {
log.Fatal(err)
}
fmt.Println(lastrecord)
推荐阅读
- javascript - 两个滑块上的网络音频音量变化
- kubernetes - 错误核心:查找令牌失败:错误=无法读取条目,拨打 tcp [::1]:8500:getsockopt: Vault 日志中的连接被拒绝
- php - 显示来自数据库的 json
- python - 比较函数的 int 输出并创建单一分数
- java - 如何从具有对象列表和一个对象列表的模型实体映射到具有 Mapstruct 的单个域实体
- python-3.x - 为什么 rasa init 没有被执行?
- flutter - 移除 Flutter HTML 小部件的默认填充
- python - 为什么它会更改我的日期时间列上的日/月位置
- macos - 每天使用 launchd 运行 shell 脚本(具有 sudo 权限)
- evosuite - 初始化目标类时出错:在继承树中找不到目标类