user model added; message model changed; tag model added

This commit is contained in:
Senta Mandutz 2019-06-04 15:26:38 +02:00
parent d27216c8a8
commit 8341ed24d0
6 changed files with 62 additions and 16 deletions

View File

@ -7,8 +7,9 @@ const MessageSchema = mongoose.Schema({
subject: { type: String, required: true }, subject: { type: String, required: true },
message: { type: String, required: true }, message: { type: String, required: true },
user: { type: String, required: true }, user: { type: String, required: true },
tag: [{type: String, index: true }], tag: [{type: String }],
//createtime: { type: Date, default: Date.now }, //createtime: { type: Date, default: Date.now },
}); });
MessageSchema.index({tag:'text'});
module.exports = mongoose.model('Message', MessageSchema); module.exports = mongoose.model('Message', MessageSchema);

3
mong.js Normal file
View File

@ -0,0 +1,3 @@
db = db.getSiblingDB('test')
print(db.getCollectionNames())

View File

@ -31,10 +31,23 @@ const HomeRouter = {
_messagelist.push.apply(_messagelist, jd); _messagelist.push.apply(_messagelist, jd);
console.log("jd: "+jd); console.log("jd: "+jd);
for (var e in jd) { for (var e in jd) {
if (!_messages[jd[e]]) { if (!_messages[jd[e]]) {
get_insert_message(jd[e]); get_insert_message(jd[e]);
} }
} }
/*if(!($".om-searchbar" = "")){
for (var e in jd) {
if (!_messages[jd[e]]) {
get_insert_message(jd[e]);
}
}
}else{
for (var e in jd) {
if (!_messages[jd[e]]) {
get_search_message(jd[e]);
}
}
}*/
}).fail(function (e, f, g) { }).fail(function (e, f, g) {
console.log("err: " + e + f + g); console.log("err: " + e + f + g);
}); });
@ -54,7 +67,15 @@ function get_insert_message(id) {
console.log("cannot load " + id + ".json: " + e + f + g); console.log("cannot load " + id + ".json: " + e + f + g);
}) })
} }
/*$(document).ready(function () {
/*function get_search_message(phrase) {
$.ajax({ url: "api/msg/search/"+phrase, method: "GET" }).done(function (msg) {
Vue.set(_messages, id, msg);
}).fail(function (e, f, g) {
console.log("cannot load " + id + ".json: " + e + f + g);
})
}
$(document).ready(function () {
console.log("egal"); console.log("egal");
$.get('list.json').done(function (jd) { $.get('list.json').done(function (jd) {
// _messagelist = jd; // _messagelist = jd;

View File

@ -10,8 +10,7 @@ var common = require ('./server/common'),
dbs = require ('./server/dbs'), dbs = require ('./server/dbs'),
files = require ('./server/files'); files = require ('./server/files');
*/ */
var fs = require ('fs'),
const fs = require ('fs'),
http = require ('http'), http = require ('http'),
https = require ('https'), https = require ('https'),
express = require ('express'), express = require ('express'),
@ -20,7 +19,7 @@ const fs = require ('fs'),
//serveFavicon = require ('serve-favicon'), //serveFavicon = require ('serve-favicon'),
bodyParser = require ('body-parser'); bodyParser = require ('body-parser');
//MongoStore = require ('connect-mongo')(session); // uss mongodb as session storage //MongoStore = require ('connect-mongo')(session); // uss mongodb as session storage
const Message = require('./message.model.js'); var Message = require('./message.model.js');
var app = express(); var app = express();
@ -74,33 +73,34 @@ app.use (bodyParser.urlencoded({extended: true}));
//var api_routes = express.Router(); // express app-object routing //var api_routes = express.Router(); // express app-object routing
//app.use ('/api', api_routes); //app.use ('/api', api_routes);
app.use (function (req,res,done) { app.use (function (req, res, done) {
console.log (req.url); console.log(req.url);
done(); done();
}); });
//global.__basedir = __dirname; //global.__basedir = __dirname;
// Static Files // Static Files
app.use (express.static(__dirname + '/public')); // Allow server access to 'public' folder app.use(express.static(__dirname + '/public')); // Allow server access to 'public' folder
//app.use(express.static('resources')); //app.use(express.static('resources'));
// Configuring the database // Configuring the database
const dbConfig = require('./mongodb.config.js'); var dbConfig = require('./mongodb.config.js');
const mongoose = require('mongoose'); var mongoose = require('mongoose');
mongoose.Promise = global.Promise; mongoose.Promise = global.Promise;
// Connecting to the database // Connecting to the database
mongoose.connect(dbConfig.url, {useNewUrlParser: true}) //mongoose.connect(`mongodb://${server}/${dbConfig.url}`)
.then(() => { mongoose.connect(dbConfig.url, {useNewUrlParser: true}).then(() => {
console.log("Successfully connected to MongoDB."); console.log("Successfully connected to MongoDB.");
}).catch(err => { }).catch(err => {
console.log('Could not connect to MongoDB.'); console.log('Could not connect to MongoDB.');
process.exit(); process.exit();
}); });
//require('./app/routes/message.route.js')(app); //require('./app/routes/message.route.js')(app);
app.get ('/api/ids', function (req, res) { app.get ('/api/ids', function (req, res) {
@ -131,6 +131,18 @@ app.get ("/api/msg/:id", function (req, res) {
}); });
}); });
/*app.get ("/api/msg/search/:phrase", function (req, res) {
Message.find ({$text: {$search: req.params.phrase}) .then (function (err, results){
if (err) {
console.log (err);
res .status(404) .json (err);
} else {
console.log(JSON.stringify(results));
res.json(results);
}
});
});
*/
/*function makeid() { /*function makeid() {
var text = ""; var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

8
tag.model.js Normal file
View File

@ -0,0 +1,8 @@
const mongoose = require('mongoose');
const TagSchema = mongoose.Schema({
name: { type: String, required: true }, //unique
});
module.exports = mongoose.model('Tag', TagSchema);

View File

@ -3,7 +3,8 @@ const mongoose = require('mongoose');
const UserSchema = mongoose.Schema({ const UserSchema = mongoose.Schema({
name: { type: String, required: true }, name: { type: String, required: true },
password: {type: String}, password: {type: String}, password: {type: String},
role: {type: String, required: true}, role: {type: String, required: true},
tags: [{type: String }], tags: [{type: String }],
}); });