Почему не получается использовать метод collection в node.js при работе с mongodb?
Итак я написал скрипт на ноде, который подключается к базе данных mongodb. Но когда идет добавление коллекции и записей, то выскакивает ошибка с 'has no method collecton'. Это очень странно ведь в интернете очень много примеров с методом collection!!
Может конечно я что-то перепутал поэтому вот сама ошибка:
TypeError: Object function MongoClient(serverConfig, options) {
if(serverConfig != null) {
options = options ? options : {};
// If no write concern is set set the default to w:1
if('w' in options === false) {
options.w = 1;
}
// The internal db instance we are wrapping
this._db = new Db('test', serverConfig, options);
}
} has no method 'collection'
at D:\programms\website\app.js:26:31
at Layer.handle [as handle_request] (D:\programms\website\node_modules\express\lib\router\layer.js:82:5)
at next (D:\programms\website\node_modules\express\lib\router\route.js:100:13)
at Route.dispatch (D:\programms\website\node_modules\express\lib\router\route.js:81:3)
at Layer.handle [as handle_request] (D:\programms\website\node_modules\express\lib\router\layer.js:82:5)
at D:\programms\website\node_modules\express\lib\router\index.js:234:24
at Function.proto.process_params (D:\programms\website\node_modules\express\lib\router\index.js:312:12)
at D:\programms\website\node_modules\express\lib\router\index.js:228:12
at Function.match_layer (D:\programms\website\node_modules\express\lib\router\index.js:295:3)
at next (D:\programms\website\node_modules\express\lib\router\index.js:189:10)
Так видимо collection не метод, а название коллекции, вместо него подставьте название вашей коллекции.
Приведите пример вашего кода, пожалуйста, а не только ошибку.
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var MongoClient = require('mongodb').MongoClient;
app.set('view engine', 'ejs');
app.use("/stylesheets",express.static(__dirname + "/stylesheets"));
app.use(bodyParser());
MongoClient.connect("mongodb://localhost:27017/blog", function(err, db) {
if(!err) {
console.log("We are connected");
db.createCollection('users', function(err, collection) {});
}
});
app.get('/', function(req, res) {
res.render('index')
});
app.post('/send_post', function(req, res) {
var name = req.body.name;
var post_name = req.body.post_name;
var post_text = req.body.post_text;
var collection = MongoClient.Collection('users');
collection.insert({name: "Artem"});
res.send("Name: " + name + ", Name of the post: " + post_name + ", Text of the post:" + post_text);
console.log("Name: " + name + ", Name of the post: " + post_name + ", Text of the post:" + post_text);
});
app.listen(3030);