mongodb查询案例,golang库mgo案例
2019-07-17 21:53
1151 查看
pipeline := []bson.M{ bson.M{"$match": bson.M{"id": uid}}, bson.M{"$project": bson.M{"last_msg": 1, "_id": 0}}, bson.M{"$unwind": "$last_msg"}, bson.M{"$sort": bson.M{"last_msg": -1}}, bson.M{"$skip": 2}, bson.M{"$limit": 2}, } userModel := MongoDb.C("user") pipe := userModel.Pipe(pipeline) var data []interface{} err := pipe.All(&data) fmt.Println(data) fmt.Println(len(data))
等效于
db.getCollection("user").aggregate([ {$match: {"id":"1"}}, {$project:{"last_msg":1, "_id":0}}, {$unwind: "$last_msg"}, {$sort: {"last_msg.date":-1}}, {$skip:2}, {$limit:2} ]);
mongodb表结构:
其中一条数据:
{ "_id": ObjectId("5d2b24c16197934ef6db77ba"), "id": "1", "account": "你的女神", "passwd": "5d78eb174d633345054faf7d56a612ed", "friends": [ { c22 "uid": "2" }, { "uid": "3" } ], "last_msg": [ { "date": "1234567890", "from_id": "2", "msg": "在么" }, { "date": "1234567895", "from_id": "3", "msg": "女神" }, { "date": "1234567898", "from_id": "4", "msg": "求你了,理理我好么" }, { "date": "1234567999", "from_id": "5", "msg": "你是不是在和别人..." } ] }
相关文章推荐
- Mongodb中几种聚合查询组合的案例
- MongoDB查询字段没有创建索引导致的连接超时异常解案例分享
- MongoDB查询字段没有创建索引导致的连接超时异常解案例分享
- MongoDB涉及的业务比较慢--慢查询优化分析案例--以及参数说明
- SQL查询案例:行列转换[行转列, 使用 CASE WHEN 处理]
- mongodb日常操作(查询)
- MongoDB查询语法
- mongoDB 多重数组查询 AngularJS绑定显示 nodejs
- 工作日记2017.08.17 MongoDB中的日期查询命令的记录
- django 操作mongoDB Mongoengine教程(3)——数据查询
- mongodb查询例子
- 一个通过dblink查询的优化案例(去掉filter)
- mongodb中简单的根据时间过滤进行查询
- MongoDB官方C#驱动中查询条件Query用法
- 深度剖析Byteart Retail案例:基于MongoDB的仓储实现
- mongodb学习:查询
- mongodb学习:查询
- SQL多表查询案例
- MongoDB多条件分页查询,新增,删除操作
- mongodb存储日期时间格式的数据,并且快速查询出某一个时间段内的数据