Имам проблеми със запазването на обект, който направих в Express nodejs, използвайки мангуста.
Той винаги казва, че е запазен, но никога не може да намери обекта, дори ако вляза в сървъра и се опитам да го получа сам.
Експресен маршрут за спасяване на mongodb:
router.post("/share", function(req, res, next){
//console.log("Post Request Made", req);
//switch to be inputed as parameters of the request
//save share
var share = new Shares({ link: req.body.link, description: req.body.description });
// var share = new Shares({ req.data.link, req.data.description });
console.log("request body", req.body);
console.log("to be added", share);
//save to database
share.save(function(err, share){
if(err){
console.log(err);
} else {
console.log("the object was saved" , share);
var id = share._id;
res.send(id);
}
});
});
Конзолен дневник:
request body { link: "test", description: "test" }
to be added { link: "test",
description: "test",
_id: 5840b0393181d4000f652cba,
clicks: 0 }
the object was saved { __v: 0,
link: "test",
description: "test",
_id: 5840b0393181d4000f652cba,
clicks: 0 }
POST /share 200 73.618 ms - 26
This is the link page with id: 5840b0393181d4000f652cba
found []
GET /fluff/link/5840b0393181d4000f652cba 200 20.387 ms - 266
Конфигурация:
var mongoose = require("mongoose");
mongoose.Promise = global.Promise;
mongoose.connect("mongodb://mongo/shares");
require("./models/Shares");
Отговори:
0 за отговор № 1Решен проблемът. Проблемът ми беше, че съм нуб mongo
черупка и монгод изобщо.
Всъщност спасявах правилно, но начина, по който търсех в mongo
че обвивката е грешна. Не осъзнавах всеки път твоя в. \ T mongo
черупката започва в test
база данни, ако работите mongo
без аргументи.
Първото нещо е да въведете базата данни, в която искате да бъдете:
`mongo [database_name]`
след това проверете за всички документи, като:
`db.collections.count()`
`db.collections.find()`
Истинският ми проблем беше, че моят Shares.findById()
беше погрешно и трябваше да потърся подходящите параметри.
това е, което работа версия изглежда сега:
Shares.findById(id.toString(), function(err, share){
if(err){
console.log("error", err);
} else {
console.log("found", share);
}
});