Home > Back-end >  Why i can't use db.collection.countDocuments()
Why i can't use db.collection.countDocuments()

Time:02-26

I want to get the number of documents in the 'image' collection.

my code is

var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var app = express();

app.set('view engine', 'ejs');
app.use(express.static(__dirname '/public'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

dburl = "mongodb srv://...";
mongoose.connect(dburl);
var db = mongoose.connection;

//...

var imageSchema = mongoose.Schema({
  image_name:{type:String, required:true, unique:true}
});
var Image = mongoose.model('image', imageSchema);
var Dcount = db.image.countDocuments({});

but the console : enter image description here

CodePudding user response:

countDocuments() is available directly on model

You should be doing Image.countDocuments()

Image.countDocuments({}, function (err, count) {
    if (err){
        console.log(err)
    }else{
        console.log("Count :", count)
    }
});
  • Related