【发布时间】:2020-12-21 19:42:49
【问题描述】:
我正在尝试找到一个性能更好的解决方案,也许您不会从集合中获取整个字符串数组,而是只返回计数。基本上,countDocuments 相当于一个用户集合中的字符串数组。
我有一个可行的解决方案,但如果该列表真的很长,那么它的性能就不会那么好。
User.findById(
{ _id: req.params.id }, { _id: 0 })
.select("blacklistGroup").then((result) => {
let output = JSON.parse(JSON.stringify(result.blacklistGroup));
console.log(output.length + " + people");
});
我希望获得一个更有效的解决方案示例,该示例更符合countDocuments,但适用于字符串数组。感谢您的帮助!
这里是blacklistGroup的模型定义
blacklistGroup: [String]
集合示例
"blacklistGroup": [
"5e98e8e785e69146f841d239",
"5e9867ff5e72550988820dd3",
"5e98e90d85e69146f841d23a",
"5e98c950f4fb3f63b4634e30",
"5e99fcf3a506cf570056898b",
"5e99fd15a506cf570056898c",
"5e99fd3aa506cf570056898d",
"5e99fd64a506cf570056898e",
"5e99fda5a506cf570056898f"
]
【问题讨论】: