La mangouste de la récupération des données sans champ _id
Je voudrais récupérer des données à partir d'une Mangouste paramètre dans mon Node.js application. J'ai remarqué que peu importe ce que j'écris en tant que champ de sélection, j'ai toujours le _id
champ. Est-il un moyen de ne pas aller la chercher?
C'est comment je le fais maintenant:
Transaction.find({username : user.username}, ['uniqueId', 'timeout', 'confirmation_link', 'item_name'], function(err, txs){
console.log("user : " + user.username + " with txs: " + txs);
callback(txs);
});
Et les journaux-moi les résultats qui contiennent le _id
champ.
Vous devez vous connecter pour publier un commentaire.
_id
doit être expressément exclue. Par exemple,Une autre méthode consiste à utiliser le texte de l'argument avec le préfixe
-
qui permettra d'exclure tel ou tel domaine de la raison:Une autre approche:
.toJSON()
du schéma qu'il supprime le_id
et la__v
champs.toJSON()
sur tous les DB objets envoyés au clientitem.id === 'something'
parce quetypeof id === 'string'
, pasObjectId
._id
parce qu'il n'y est aucune, juste unid
qui est ignoré.Augmentant JSON:
De sorte que vous pouvez utiliser:
Je sais que c'est laid. Mais c'est la meilleure mauvaise idée que j'ai jusqu'à présent.
Dans 5.2.13 version de la Mangouste (Septembre 2018)- en utilisant le générateur de requêtes approche la même chose peut être converti à