web-dev-qa-db-fra.com

Requête Mongoose où la valeur n'est pas null

Vous cherchez à faire la requête suivante:

Entrant
    .find
      enterDate : oneMonthAgo
      confirmed : true
    .where('pincode.length > 0')
    .exec (err,entrants)->

Est-ce que je fais la clause where correctement? Je veux sélectionner des documents pour lesquels pincode n'est pas nul.

70
wesbos

Vous devriez pouvoir faire ceci comme (lorsque vous utilisez l’API de requête):

Entrant.where("pincode").ne(null)

... ce qui entraînera une requête mongo ressemblant à:

entrants.find({ pincode: { $ne: null } })

Quelques liens qui pourraient aider:

126
numbers1311407

Je me suis retrouvé ici et mon problème était que je demandais 

{$not: {email: /@domain.com/}}

au lieu de 

{email: {$not: /@domain.com/}}
6
MalcolmOcean

$ ne

sélectionne les documents pour lesquels la valeur du champ n'est pas égale à la valeur spécifiée. Cela inclut les documents qui ne contiennent pas le champ.

User.find({ "username": { "$ne": 'admin' } })

$ nin

$ nin sélectionne les documents où: la valeur du champ n'est pas dans le tableau spécifié ou le champ n'existe pas.

User.find({ "groups": { "$nin": ['admin', 'user'] } })
2
TinhNQ

total compte les documents dont la valeur du champ n'est pas égale à la valeur spécifiée.

async function getRegisterUser() {
    return Login.count({"role": { $ne: 'Super Admin' }}, (err, totResUser) => {
        if (err) {
            return err;
        }
        return totResUser;
    })
}
0