$.post($gameNetwork._serverURL+'/addfriend',
{username:"r",tusername:"w"}).done(function (data) {
console.log("finished");
});
Account.statics.
friend = function(name,tname,cb) {
return this.findOneAndUpdate(
{ 'username': name },
{ $push: {'friendlist': tname}},
{ upsert: true, new: true},
cb);
};
路线
router.post('/addfriend', function(req, res) {
//Account.findByName(req.body.username, function(err, account){
Account.friend(req.body.username,req.body.tusername, function(err, account){
if (err) {
return res.status(203).json({
err: err.msg
});}
if (!account) {
return res.status(203).json({
err: "Invalid username"
});}
var tname = req.body.tusername;
var profile = {
tname : tname,
name: account.username,
email: account.email,
id: account._id,
rank: account.rank
}; });
此代码应在Mongodb的“朋友列表”字段中输入“ w”,但我得到的是空而不是w。
如何在Mongodb中将“ w”添加到“朋友列表”字段中。 任何帮助表示赞赏 预先感谢
答案 0 :(得分:0)
您可以像这样调试请求数据:
router.post('/addfriend', function(req, res) {
console.log(req.body);
// your logic
}
再次运行代码,您将看到所需的数据。如果看到 tusername = null或未定义,则可能是配置所用模块时遇到的问题,例如 body-parser , busboy 。 ..vv
欢迎所有评论!
答案 1 :(得分:-1)
router
在ExpressJS router
中?
如果是,您是否设置了bodyParser
中间件?
如果没有,请这样设置
const express = require('express')
const bodyParser = require('body-parser')
const app = express()
// parse application/json
app.use(bodyParser.json())
您也可以尝试像描述here
一样在ajax请求中对正文进行字符串化处理