Korzystam z mongołowego sterownika node-mongodb z mongodb do napisania strony internetowej.Jak ponownie wykorzystać połączenie mongodb w węźle node.js
Mam pytanie jak otworzyć połączenie MongoDB raz, a następnie używać go w kolekcji użytkowników nazwisko w user.js
i posty nazwa kolekcji w comment.js
chcę otworzyć połączenia db w db.js
następnie włożyć/zapisywać dane dla użytkowników i posty kolekcja
kod Obecnie, moja db.js
var Db = require('mongodb').Db,
Connection = require('mongodb').Connection,
Server = require('mongodb').Server;
module.exports = new Db(
'blog',
new Server('localhost', Connection.DEFAULT_PORT, {auto_reconnect: true})
);
użyłem db.js
w user.js
się s śledzić
var mongodb = require('./db');
function User(user){
this.name = user.name;
this.password = user.password;
this.email = user.email;
};
module.exports = User;
User.prototype.save = function(callback) {//save user information
//document to save in db
var user = {
name: this.name,
password: this.password,
email: this.email
};
mongodb.close();
//open mongodb database
mongodb.open(function(err, db){
if(err){
return callback(err);
}
//read users collection
db.collection('users', function(err, collection){
if(err){
mongodb.close();
return callback(err);
}
//insert data into users collections
collection.insert(user,{safe: true}, function(err, user){
mongodb.close();
callback(err, user);//success return inserted user information
});
});
});
};
i comment.js
var mongodb = require('./db');
function Comment(name, day, title, comment) {
this.name = name;
this.day = day;
this.title = title;
this.comment = comment;
}
module.exports = Comment;
Comment.prototype.save = function(callback) {
var name = this.name,
day = this.day,
title = this.title,
comment = this.comment;
mongodb.open(function (err, db) {
if (err) {
return callback(err);
}
db.collection('posts', function (err, collection) {
if (err) {
mongodb.close();
return callback(err);
}
//depend on name time and title add comment
collection.findAndModify({"name":name,"time.day":day,"title":title}
, [ ['time',-1] ]
, {$push:{"comments":comment}}
, {new: true}
, function (err,comment) {
mongodb.close();
callback(null);
});
});
});
};
Twoje pytanie nie brzmi jak pytanie. Co się nie dzieje i proszę postawić dokładnie wyzwanie, przed którym stoisz. – moka