V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lqzhgood  ›  全部回复第 16 页 / 共 39 页
回复总数  780
1 ... 12  13  14  15  16  17  18  19  20  21 ... 39  
2019 年 8 月 28 日
回复了 dog82 创建的主题 Go 编程语言 Go、 Python 两门语言哪个更值得学?
是时候祭出这个 MV 了~
Java's verbose python's too slow. it's time you know. Write in GO ! Write in GO !!!

https://www.youtube.com/watch?v=LJvEIjRBSDA
2019 年 8 月 20 日
回复了 kid1412621 创建的主题 Android 9102 年 Android 最好的 RSS 阅读器是?
feedme 功能最全吧
之前 Prsss 各种好,可惜弃坑了
2019 年 8 月 20 日
回复了 xutao881 创建的主题 程序员 和拼多多斗智斗勇,我同学输了。
没人关心 土拨鼠 么…
那么问题来了~ 土拨鼠 犯了什么错误…
你自己搭个服务器不就行了~ 放公网内网看你咯
服务器正则匹配一下 url @lastest 重定向到最新版本~
2019 年 8 月 12 日
回复了 Hanggi 创建的主题 云计算 阿里云控制台为什么要用 React 重写?
诶~ V R 都写。 最近佛系回归写 V 了。。。R 真是折腾
贴一下最终代码留给后人~

let resp = await this.ctx.model.Monitor.Check
.aggregate()
.match(query)
.lookup({
from: 'Project',
localField: 'Project',
foreignField: '_id',
as: 'Project',
})
.addFields({ Project: { $arrayElemAt: ['$Project', 0] } })
.match(queryPopulate)
.facet({
list: [{ $sort: { "meta.createdAt": -1 } }, { $skip: (page - 1) * limit }, { $limit: limit }],
total: [{ $count: "total" }],
})
.addFields({ total: { $arrayElemAt: ['$total', 0] } })
.project({ list: 1, total: "$total.total" });

最后两行是重组 Object 结构的。
如果查询条件为空 total 会返回空数组,最终还要处理 query 到 空数组的 临界情况

resp = resp[0];
if (!resp.total) resp.total = 0;


整体下来感觉补丁打的挺多的 没有酣畅淋漓的感觉~ 如果有更好的写法 欢迎下面回帖补充
@menyakun 3Q~
aggregate 只能返回 Array 那就没办法了~ 不过我感觉从语义上来说 facet 以后应该要返回 Object 的。
因为 facet 以后只剩下一个 DIY 后重组的对象了,还不如直接返回这个 Object。

P.S
奇了怪了 我下午也是按 3L 这么写, $count 那里一直报错。 估计是哪里秀逗了~~
@menyakun 同一个 collection
例如有一组数据 [{a:1},{a:2},{a:3},{a:4},{a:5},{a:6},{a:7},{a:8},{a:9},{a:10}.........,{a:98},{a:99},{a:100}]

前端传过来一个查询条件 a>50 ,需要返回 分页为每页 5 个 第 2 页的数据, 也就是需要返回的数据为
const result = {
list: [{a:56},{a:57},{a:58},{a:59},{a:60}],
total: 50
}

我之前的做法是
const result = {
list: await Model.find( {a:{"$gt":50}} ).skip(1),limit(5),
total: await Model.find( {a:{"$gt":50}} ).count()
}
这里 find 了两次 query。实际上是查了 2 次数据库。


我想在 find 第一次的时候就计算出 total。然后再 skip limit 返回 list,然后这个很常见的需求, MongoDB 怎么做呢?


P.S
我查了 MongoDB 文档, aggregation 里面的 facet 应该是可以做这个需求的。但是我写了一下午也没搞出来。result 始终返回的是一个 Array 不是一个 Object。求教

#api
https://docs.mongodb.com/manual/reference/operator/aggregation/facet/
2019 年 7 月 23 日
回复了 leven87 创建的主题 MongoDB MongoDB 如何在对象中进行联合查询?
前几天刚碰到这个问题
mongoose 的虚拟属性支持这个



https://mongoosejs.com/docs/populate.html
# Populate Virtuals
2019 年 7 月 21 日
回复了 pricesong 创建的主题 GitHub GitHub 阿波罗 11 号代码仓库惨遭中文灌水
我比较想知道 这份代码会有怎样的 bug …
神游就是子公司性质 不是代理商
之前主要做本地化
但是国内投入好几次 一直赚不到钱 日方就放弃了
现在就是个空壳 与其重开 不如找个代练
好像是机核还是哪个播客听到的 找的前员工聊的
2019 年 7 月 11 日
回复了 lr3800 创建的主题 分享创造 分享垃圾分类 API
https://laji.lr3800.com/api.php?name=你我他

{"code":250,"msg":"未检索到相关信息"}
借楼问问
有 windows 的接收端么~
老电视非智能系统。 想 HDMI 接个 windows 变接收端, 接受投屏并显示。
2019 年 7 月 9 日
回复了 shuAS 创建的主题 程序员 api 接口如何做到毫秒级响应?
显示器响应时间不都要几 ms~十几 ms 么
试了一下~ 纯 web。
这个有点厉害了
2019 年 6 月 29 日
回复了 apex 创建的主题 程序员 程序员厉害还是电工、钳工、车工厉害?
如果都从 0 开始的话 (不借助模板程序 备份等)
... 比赛的这几个小时 估计我连 IDE 都没调好…
2019 年 6 月 27 日
回复了 Kaiyuan 创建的主题 分享发现 LG TV 不支持 AirPlay
AirPlay 苹果一直没有开放过 “视频” 的授权。
所以目前市面上所有的设备都没有支持 AirPlay “视频” 类的。(包括投屏等)
所有标注支持的 都是破解的 AirPlay 协议 自行实现的。

例如 Sony 是安卓系统,可以安装乐播投屏来间接实现 AirPlay 的投屏支持。

AirPlay 2 是明确 “开放” 的,目前 三星 LG Sony 的新款电视投提到了支持,但是好像都需要等后续更新才真正支持。
额。。。我怎么感觉 vuex 还是优点呢……
redux 写的那个恼火,redux+Immutable 那个闹心……
1 ... 12  13  14  15  16  17  18  19  20  21 ... 39  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3067 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 40ms · UTC 15:01 · PVG 23:01 · LAX 08:01 · JFK 11:01
♥ Do have faith in what you're doing.