为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB 切片查询到 golang

MongoDB 切片查询到 golang

Go
慕容森 2023-06-19 17:20:44
我如何将下面的切片查询写入 golang?db.con.find({"repoid":1356485},{"contr":{$slice:[0,10]}}).pretty()试过这个但没有工作DB.C("con").Find(bson.M{"id": ID, "contr": bson.M{"$slice": []interface{}{"$contr", offset, limit}}})没有找到任何东西。有任何想法吗?先感谢您
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

使用Collection.Find()您只能指定过滤器。但是您拥有的是一个投影:

{"contr":{$slice:[0,10]}

可以使用 指定投影Query.Select(),因此这就是应用$slice投影的方法:


var results []bson.M // Use your own type here, but this works too


err := DB.C("con").Find(bson.M{"id": ID}).Select(bson.M{

    "contr": bson.M{"$slice": []int{offset, limit}},

}).All(&results)


// handle error

还要注意确保您过滤的属性是"id"或只是一个拼写错误,它应该是"_id"。如果是后者,您还可以使用Collection.FindId()按文档 ID 进行查询:


err := DB.C("con").FindId(ID).Select(bson.M{

    "contr": bson.M{"$slice": []int{offset, limit}},

}).All(&results)


查看完整回答
反对 回复 2023-06-19
  • 1 回答
  • 0 关注
  • 89 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信