mongodb 查询问题。
发布于 8 年前 作者 mrlong 4173 次预览 最后一次回复是 8 年前 来自 问答
{class:“技术类” title=“xxxxxx” content:“xxxxxx” } {class:“招聘类” title=“xxxxxx” content:“xxxxxx” } {class:“分享类” title=“xxxxxx” content:“xxxxxx” } {class:“分享类” title=“xxxxxx” content:“xxxxxx” } {class:“招聘类” title=“xxxxxx” content:“xxxxxx” }
我怎么通过查询一次性取出结果是:
[ {class:“技术类”}, {class:“招聘类”}, {class:“分享类”}]
14 回复
find({},{‘class’:1});
@luanxuechao 这个语句是什么意思呢?
class $in [1,2,3] ?是不是
@lwwen db.test.find({},{‘class’:1});返回的就是题目上的结果
@luanxuechao 会返有所有的,不是过滤重复的。
我是有印象在哪地方看过写法,现在要用,找不到了。
@koroshi 错了。
@mrlong mongoose好像有个distinct,理论原生应该有个对应的把
@mrlong 不好意思没看清楚
8楼 正解
@koroshi
谢谢了,你这个对的.
{ “_id”: 1, “dept”: “A”, “item”: { “sku”: “111”, “color”: “red” }, “sizes”: [ “S”, “M” ] } { “_id”: 2, “dept”: “A”, “item”: { “sku”: “111”, “color”: “blue” }, “sizes”: [ “M”, “L” ] } { “_id”: 3, “dept”: “B”, “item”: { “sku”: “222”, “color”: “blue” }, “sizes”: “S” } { “_id”: 4, “dept”: “A”, “item”: { “sku”: “333”, “color”: “black” }, “sizes”: [ “S” ] }
db.inventory.distinct( “dept” )
[ “A”, “B” ]
distinct(“class”)
@mrlong 补个完整版。 官方文档传送门 下面是我的具体实现,使用的mongodb模块是
mongodb。建议去学习下aggregate,比这复杂的多的需求都能解决,当前这个一个group就搞定