如何解决Mongodb-聚合匹配等效于简单查找
我希望将可用的查找替换为聚合,以便进行查找。问题是结果的格式略有不同。
.findOne({
_id: postId,})
结果的格式为:
{
key: "value"
}
使用汇总:
.aggregate(
[
{$match:{
_id: postId,}
}
]).toArray() // result is same with and without toarray
结果的格式为:
[{
key: "value"
}]
还有一个额外的方括号。应该使用unwind还是用其他方法删除生成的[]
?
我不是在寻找JavaScript解决方法which is to use [0]
,而是希望使用mongodb解决方案。我只需要{}
解决方法
aggregate返回一个文档数组。从技术上讲,它返回一个大多数客户端将以数组形式显示的游标。这类似于find
的回报。
findOne
仅返回一个文档,因此它以对象而不是对象数组或游标的形式返回。
从聚集返回的值将是一个游标,只要至少要返回一个文档即可。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。