salut comment puis-je trouver des données avec une requête spécifique. Par exemple, j'ai une collection ci-dessous: donc je veux obtenir des données "centide" doit être "261fb12f", "servid" doit être "CBBFEC62", "Année" n'est pas "2020" et "mois" n'est pas "06" aussi. Comment puis-je envoyer la requête? Je veux un résultat comme ci-dessous: p>
3 Réponses :
On dirait que vous voulez juste utiliser Expressions logiques . Spécifiquement le € et opérateur dans votre cas:
Merci mon ami de l'aide mais votre code ne fonctionne pas dans mon exemple particulier. Bien que cet exemple aime mon exemple spécial
Vous avez alors un problème différent, puis interrogeez la mauvaise collection ou la mauvaise base de données, si vous faites une requête code> vide code> Vous voyez des résultats?
Mon ami j'ai remplacé l'exemple de code avec mon code actuel, s'il vous plaît laissez essayer la collection réelle
db.getCollection("mycollection").find({ "centerId": "A", "ServiceId": "B", "country": { $ne: 'Georgia' }, city: { $ne: 'Batumi' } })
@Vagif Veuillez remplacer le nom de la collection avec votre nom de collection actuel dans la requête, puis exécuter
db.collection.aggregate({ $match: { $expr: { $and: [ { $eq: [ "$centId", "261FB12F" ] }, { $eq: [ "$servId", "CBBFEC62" ] }, { $ne: [ "$year", "2020" ] }, { $ne: [ "$month", "06" ] } ] } } }) MongoPlayGroundLink
Vous dites "année" n'est pas "2020" et tous vos exemples mais le dernier a 2020. Le premier a le mois = "06" - Pourriez-vous clarifier vos critères de sélection.
Oui "année" non égale à "2020" et "mois" non égal à "06". et "centide" doit être égal à "261fb12f" et "CentryID" doit être égal à "CBBFEC62"
Comment vos résultats peuvent-ils avoir "2020" ou "06" lorsque vous dites pas égaux?
Donc, je veux obtenir des données "centide" doit être "261fb12f", "servid" doit être "cbbfec62", "année" n'est pas "2020" et "mois" n'est pas "06".