簡體   English   中英

如何讓貓鼬列出集合中的所有文檔? 告訴集合是否為空?

[英]How to get Mongoose to list all documents in the collection? To tell if the collection is empty?

我正在使用MEAN堆棧,並在Mongoose中編寫這些方法。 我想知道我在Mongoose模型文件中放入的內容有什么問題。 我想用Mongoose簡單地打印出myModel集合中所有文檔的列表。

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);
}

另外,我可以在Mongoose中編寫什么代碼來判斷myModel集合是否為空?


教一個人如何釣魚比給他一條魚更好...

因此,如果您建議我可以安裝哪些調試工具(例如Express中間件)來幫助自己進行調試,那將非常有幫助。 請在此處發布您的調試建議

我假設貓鼬所需的所有其他設置都是正確的。

在下面的行中,我認為不需要'myField'。

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

這是從頭開始的更多內容,可能會幫助您追溯步驟:

  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; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM