MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

node.js express mongodb lưu tin nhắn?

Tôi đã thử nó và phiên bản sửa đổi dưới đây hoạt động! Những thay đổi chính khi đặt mã giản đồ mongoose ở phía máy chủ và chỉ phản hồi lại nội dung của hộp văn bản trên máy chủ sau khi lưu thành công trong cơ sở dữ liệu Mongo.

Hãy xem thêm mean.io trang web để giới thiệu về ngăn xếp MEAN, hãy cho tôi biết nếu bạn có thắc mắc về mã.

Server.js được sửa đổi:

var mongoose = require('mongoose')
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);

server.listen(3000);

app.get('/', function(req, res){
    res.sendfile(__dirname + '/test.html');
});

io.sockets.on('connection', function(socket){
    socket.on('send message', function(data){

        var newMsg = new Chat({msg: '' + data});

        console.log('saving newMsg: ' + newMsg);

        newMsg.save(function(err){
            console.log('saved, err = ' + err);
            if(err) throw err;
            console.log('echoeing back data =' + data);
            io.sockets.emit('new message', data);
        });

    });
});

var chatSchema = mongoose.Schema({
    msg: String,
    created: {type: Date, default: Date.now}
});

var Chat = mongoose.model('Message', chatSchema);



mongoose.connect('mongodb://localhost/test', function(err){
if(err){
console.log(err);
} else{
    console.log('Connected to mongodb!');
}
});

Đây là trang html:

<html>
    <head>
        <title>Chat with socket.io and node.js</title>
        <style>
            #chat{
                height:500px;
            }
        </style>
    </head>
    <body>
        <div id="chat"></div>

        <form id="send-message">
            <input size="35" id="message"></input>
            <input type="submit"></input>
        </form>

        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script src="/socket.io/socket.io.js"></script>

        <script>
            jQuery(function($){
                var socket = io.connect();
                var $messageForm = $('#send-message');
                var $messageBox = $('#message');
                var $chat = $('#chat');

                $messageForm.submit(function(e){
                    e.preventDefault();
                    socket.emit('send message', $messageBox.val());
                    $messageBox.val('');
                });

                socket.on('new message', function(data){
                    console.log('Received data: ' + data);
                    $chat.append(data + "<br/>");
                });
            });

        </script>

    </body>
</html>



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách phát triển ứng dụng cho MongoDB và Redpanda bằng Docker Compose

  2. Cách định dạng số trong SQL

  3. Dịch vụ Mongo bị lỗi. Cần tìm lý do của sự cố

  4. Cách tạo lược đồ Mongoose lưu đầu vào dưới dạng html trong mongodb

  5. Cách kết nối với MongoDB từ iOS (Swift)