/ / Mongoose zawsze zwraca pustą tablicę? [duplikat] - node.js, mongodb, mongoose-schema

Mongoose zawsze zwraca pustą tablicę? [duplicate] - node.js, mongodb, mongoose-schema

Jestem nowy w nodejs.Mam już db o nazwie aqi z nazwą kolekcji pln. Próbuję wyświetlić wszystkie rekordy w kolekcji na stronie internetowej, ale mangusta zawsze zwraca pustą tablicę. przetestowałem to z innymi dbs, ale mogę uzyskać od nich dane, ale dla pln mangusty zawsze zwracaj pustą tablicę. byłbym bardzo wdzięczny, gdyby ktoś mógł mi pomóc. to jest mój schemat

var Pln = new Schema({
latit      : Number,
longit     : Number,
timestmp   : String,
co         : Number,
smoke      : Number,
O3         : Number,
humidity   : Number,
temperature: Number,
co2        : Number,
dust       : String
});
var plnModel = mongoose.model("pln", Pln);

To moja trasa.

app.get("/", function(req, res) {
res.contentType("application/json");
plnModel.find({}, function(err, pln) {
if (pln != null) {
console.log("Found the User:" + pln.latit);
res.send(JSON.stringify(pln));
}
});
});

Odpowiedzi:

1 dla odpowiedzi № 1

Jeśli zdefiniujesz swój model w ten sposób: mongoose.model("pln", Pln), a następnie twoją kolekcję musi być nazwanym "plns" (= nazwa twojego modelu + s)

Jeśli tak nie jest, musisz powiedzieć Mongoose, że masz niestandardową nazwę kolekcji (w twoim przypadku na podstawie komentarzy, "pln" bez s) przy użyciu:

mongoose.model("pln", Pln, "pln"), trzeci argument to rzeczywista nazwa Twojej kolekcji.

I spójrz na ten kod:

app.get("/", function(req, res) {
plnModel.find({}, function(err, pln) {
if(err) return res.status(500).json(err);
console.log("Found Users :", pln);
res.status(200).json(pln);
});
});