Mangouste requête retourne null
Je n'arrive pas à obtenir une réponse à partir de mongodb. Je suis à l'aide de node.js et mongodb avec l'aide de la mangouste.
Dans mon node.js les applications que j'ai
mongoose.connect('mongodb://localhost:27017/myDB');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
var BlogPost = new Schema({
author : ObjectId,
title : String,
slug : { type: String, lowercase: true, trim: true },
content : String,
summary : String,
date : Date
})
var BlogModel = mongoose.model('BlogPost', BlogPost);
BlogModel.find({}, function(docs){
console.log(docs);
});
Si j'type de spectacle dbs dans le shell mongo-je obtenir
admin (empty)
myDB 0.203125GB
local (empty)
test (empty)
db.blogmodel.find() retourne :
{ "_id" : ObjectId("50108d3df57b0e3375a20479"), "title" : "FirstPost" }
et oui j'ai mongod en cours d'exécution.
Solution Fixe
var BlogModel = mongoose.model('blogmodel', BlogPost, 'blogmodel');
Cela fonctionne parce que le son (nom du modèle, le nom du schéma, le nom de la collection)
Cette question a fait de moi un fou! J'ai ajouté un crédit pour votre solution fixe de la partie!
OriginalL'auteur lostAstronaut | 2012-07-26
Vous devez vous connecter pour publier un commentaire.
Mangouste pluralizes les noms de modèle, de sorte qu'il exécute
find
sur le "blogposts de la collection" au lieu de "billet de blog". Cela dit, votre question dans le shell mongo est sur le "blogmodel" de la collection. Dans ce cas:ou passer le nom de la collection en tant que troisième paramètre:
OriginalL'auteur aaronheckmann
Le premier paramètre à votre
BlogModel.find
de rappel esterr
, le deuxième paramètre estdocs
. Ainsi, votre code devrait être:Le
BlogPosts
contient la collection de documents si vous avez des requêtes à partir du shell mongo?Je l'ai ajouté au post original (et oui, j'ai un document pour le tester, je ne peux pas trouver une raison.
OriginalL'auteur JohnnyHK
J'ai été dans la même erreur hier, dans mon cas, l'erreur a été causée par les données importées à mongo. Après j'ai utilisé mongoimport clé _id a été stocké comme une chaîne de caractères au lieu de ObjectId. Quand j'étais interrogation des données dans mongo tout fonctionne bien, mais dans la Mangouste quand j'essayais de trouver quelque chose par _id il retourne toujours la valeur null ou vide. J'espère que l'info pourrait être utile pour quelqu'un.
OriginalL'auteur Lukasz Piwowar