MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie bringt man Mongoose dazu, alle Dokumente in der Sammlung aufzulisten? Um festzustellen, ob die Sammlung leer ist?

Ich gehe davon aus, dass alle anderen für Mongoose erforderlichen Einstellungen korrekt sind.

In der Zeile unten denke ich, dass 'myField' nicht benötigt wird.

  this.model("Bids").find({}, 'myField', function(err, results)

Hier ist etwas mehr von Grund auf neu, vielleicht würde es Ihnen helfen, Ihre Schritte zurückzuverfolgen:

 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;