Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 与多个字段不同,mongodb中的where条件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想写一个等同于disTinct的查询mongodb中的where. SQL查询是选择DISTinCT键,从GPC得分,其中note =“test2”而notetwo =“meet2”

@H_607_7@{ "_id" : ObjectId("4dc86fef6a0aa8513ab5f21c"),"key" : "SAGAR","score" : 16,"note" : "test1","notetwo" : "meet1" } { "_id" : ObjectId("4dc86ffd6a0aa8513ab5f21d"),"key" : "SAGAR456","score" : 17,"note" : "testjh1","notetwo" : "meetjh1" } { "_id" : ObjectId("4dc8700b6a0aa8513ab5f21e"),"key" : "SAGAR33","score" : 37,"note" : "test2","notetwo" : "meet2" } { "_id" : ObjectId("4dc871686a0aa8513ab5f21f"),"notetwo" : "meet2" } { "_id" : ObjectId("4dc871696a0aa8513ab5f220"),"notetwo" : "meet2" } { "_id" : ObjectId("4dc8716c6a0aa8513ab5f221"),"notetwo" : "meetjh1" }

查询的预期结果是

@H_983_5@mongodb中的等价查询是什么.我正在使用mongoose来执行查询.

解决方法

您需要使用 aggregate查询来实现此目的.这是一个可以在sHell中工作的例子(可以很容易地翻译成MongoosE)

@H_607_7@db.gpc.aggregate([ // your where clause: note="test2" and notetwo = "meet2" {"$match" : {note:"test2",notetwo:"meet2"}},// group by key,score to get disTinct {"$group" : {_id : {key:"$key",score:"$score"}}},// Clean up the output {"$project" : {_id:0,key:"$_id.key",score:"$_id.score"}} ])

输出

@H_607_7@{ "result" : [ { "key" : "SAGAR33","score" : 37 } ],"ok" : 1 }

大佬总结

以上是大佬教程为你收集整理的node.js – 与多个字段不同,mongodb中的where条件全部内容,希望文章能够帮你解决node.js – 与多个字段不同,mongodb中的where条件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。