/ / एक्सप्रेस Mongoose डेटा की बचत नहीं कर रहा है - जावास्क्रिप्ट, नोड। जेएस, मंगोलोड, एक्सप्रेस, मोंगोज़

एक्सप्रेस Mongoose डेटा नहीं बचा रहा है - जावास्क्रिप्ट, node.js, mongodb, एक्सप्रेस, mongoose

मुझे एक ऐसी वस्तु को सहेजने में कुछ परेशानी हो रही है जो मैंने मोंगोज़ के प्रयोग से एक्सप्रेस नोडज में की है।

यह हमेशा कहता है कि यह सहेजा गया है, लेकिन कभी भी ऑब्जेक्ट नहीं मिल सकता है, भले ही मैं सर्वर में लॉग इन करता हूं और इसे स्वयं प्राप्त करने का प्रयास करता हूं।

मेनगोडब को बचाने के लिए एक्सप्रेस मार्ग:

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

समस्या का हल किया। मेरी समस्या यह थी कि मैं एक noob में हूँ mongo खोल और सामान्य रूप से mongodb।

मैं वास्तव में ठीक से बचत कर रहा था, लेकिन जिस तरह से मैं खोज रहा था mongo शेल गलत था। मैं हर बार अपने में एहसास नहीं था 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);
}
});