I'm using a MEAN stack and writing these methods in Mongoose. I'm wondering what's wrong with what I put in the Mongoose model file. I would like to use Mongoose to simply print out a list all the documents in the myModel collection.
myModel.methods.myMethod = function(cb){
this.model("Bids").find({}, 'myField', function(err, results){
if (err){console.log(err);return err;}
console.log("okay");
console.log(results);
})
this.save(cb);
}
Also, what is the code that I can write in Mongoose to tell if the myModel collection is empty or not?
It's better to teach a man how to fish than to give him a fish ...
So it would be extremely helpful if you can suggest what debugging tools I can install, such as an Express middleware, that can help me debug myself. Please post your debugging suggestions here .
I'm assuming every other setup required for mongoose is correct.
At the line below, I think 'myField' is not needed.
this.model("Bids").find({}, 'myField', function(err, results)
Here is something more from scratch, maybe it would help you to trace-back you steps:
var mongoose = require('mongoose'); //connection to Mongodb instance running on======= //local machine or anywhere========================= var uri = 'mongodb://localhost:27017/test'; var connection = mongoose.createConnection(uri); //Define Schema================================== var Schema = mongoose.Schema; var BlogPostSchema = new Schema({ author: { type: Schema.Types.ObjectId }, title: String, body: String }); //Create model=================================================== var BlogPostModel = connection.model('BlogPost', BlogPostSchema); //function to insert doc into model NOTE "pass in your ======= //callback or do away with it if you don't need one"========= var insertBlogPost = function (doc, callback) { //here is where or doc is converted to mongoose object var newblogPost = new BlogPostModel(doc); //save to db newblogPost.save(function (err) { assert.equal(null, err); //invoke your call back if any callback(); console.log("saved successfully"); }); }; //function to get all BlogPosts==================================== var getAllBlogPosts = function (callback) { //mongoose get all docs. I think here answers your question directly BlogPostModel.find(function (err, results) { assert.equal(null, err); //invoke callback with your mongoose returned result callback(results); }); }; //you can add as many functions as you need. //Put all of your methods in a single object interface //and expose this object using module. var BlogPostManager = { insertBlogPost: insertBlogPost, getAllBlogPosts : getAllBlogPosts } module.exports = BlogPostManager;
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.