它将-“ name”:null,“ message”:null .---存储在数据库中

时间:2019-09-07 17:12:49

标签: node.js mongodb express socket.io

我正在使用socketio和mongodb创建一个聊天应用程序来存储用户名和他的聊天消息。 当我点击“发送”按钮时,控制台显示“已插入”,执行代码没有问题,但它在数据库中存储了空值。 我的数据库名称是:“用户”,表名称是:“信息”。 请帮忙。提前。

var app=require('express')();
var server=require('http').Server(app);
var io=require('socket.io')(server);
var path=require('path');
var fs=require('fs');
var mongo=require('mongoose');
var ObjectId=require('mongodb').ObjectID;

server.listen(3000);

var MongoClient=require('mongodb').MongoClient;
var url='mongodb://localhost:27017/';

app.use(__dirname + '/public');
var mongo=require('mongodb').MongoClient;
	client=require('socket.io').sockets;

app.get('/',function(req,res){
	res.sendFile(path.join(__dirname + '/index.html'));
});

MongoClient.connect(url,function(err,db){
	if(err)throw err;
	var dbo=db.db('user');

	io.on('connection',function(socket){
		socket.on('chat message',function(msg){
			dbo.collection('info').insert({
				"name":msg.name,
				"message":msg.message
			},function(err,res){
				if(err)throw err;
				console.log('inserted');
			});
		});
	});
});


 
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>
<script>
	$(function(){
	var socket=io();
	$('form').submit(function(e){
		e.preventDefault();
		socket.emit('chat message',$('#t').val(),$('#m').val());
		$('#m').val('');
		$('#t').val('');
		return false;
	});
	});
</script>
<body>
   <ul id="messages"></ul> 
   <form action="">
   	<input id="m" autocomplete="off" type="text" name="name" placeholder="Enter your name"><br>
   	<textarea id="t" placeholder="Enter Your Message"></textarea><br>
   	<button>send</button>
   </form>
</body>
<style type="text/css">
	#messages, textarea{
		width: 20%;
		height: 50px;
		margin: 0;
		padding: 0;
	}
	#m{
		margin: 0;
		padding: 0;
	}
</style>
</html>

0 个答案:

没有答案