我如何将下面的切片查询写入 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)
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消