Je suis nouveau à MongoDB, et jusqu'à présent, il semble qu'il essaie de faire de son mieux pour rendre les choses simples trop complexes.valeur distincte avec le compte et la condition mongo DB
Je suis en train d'exécuter le dessous MYSQL équivalent
SELECT userid, COUNT(*)
FROM userinfo
WHERE userdata like '%PC% or userdata like '%wire%'
GROUP BY userid
Je mongo la version 3.0.4 et je suis en cours d'exécution MongoChef. Je essayé d'utiliser quelque chose comme ci-dessous:
db.userinfo.group({
"key": {
"userid": true
},
"initial": {
"countstar": 0
},
"reduce": function(obj, prev) {
prev.countstar++;
},
"cond": {
"$or": [{
"userdata": /PC/
}, {
"userdata": /wire/
}]
}
});
mais cela n'a pas aimé l'OR. quand j'ai sorti l'OR, pensant que je ferais la moitié à la fois et combiner les résultats en Excel, j'ai une erreur "groupe() ne peut pas gérer plus de 20000 clés uniques", et la table de résultat devrait être beaucoup plus grande que ça. D'après ce que je peux dire en ligne, je pourrais le faire en utilisant des pipelines d'agrégation, mais je ne trouve pas d'exemples clairs sur la façon de le faire. Cela semble être une chose simple qui devrait être intégrée à n'importe quelle base de données, et cela n'a aucun sens de ne pas l'être. Toute aide est très appréciée.