mongodb查询案例,golang库mgo案例
发表于:2023-02-03 作者:安全数据网编辑
编辑最后更新 2023年02月03日,pipeline := []bson.M{ bson.M{"$match": bson.M{"id": uid}}, bson.M{"$project": bson.M{"last_msg":
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))
等效于(查询id为1,只取出last_msg字段,不取_id,并将last_msg的数组取出展开,按last_msg.date逆序排列,跳过前2条,只选取2条):
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": [ { "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": "你是不是在和别人..." } ]}
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
网络安全应坚持积极利用
怎么进入不同端口数据库
守护青春网络安全听后感600字
2021年中国网络安全
怎么查看服务器数据库日志
深圳嘉卉互联网科技有限公司
网络安全简单小视频
招商银行总行软件开发中心
数据库强制访问策略
清华大学 数据库原理
人人乐众享网络技术有限公司
网络安全好处和坏处200字
数据库简历中的项目经验范文
网络安全进乡村策划活动
做分布式储存软件开发怎样
数据库技术的原理_
手机里的媒体服务器
肇庆聊天软件开发常见问题
标书服务器
数据库该怎么学习
少年三国志服务器前面带s
东软网络安全产品什么时候研究
想做软件开发自己能做吗
大兴安岭网络安全委员
思源软件开发岗位怎么样
初学软件开发
防止网络安全的5个方法
服务器挂载镜像方法
南京营销软件开发哪个好
阿里云虚拟空间数据库