Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在JSON对象中发布?_Javascript_Json_Mongodb - Fatal编程技术网

Javascript 如何在JSON对象中发布?

Javascript 如何在JSON对象中发布?,javascript,json,mongodb,Javascript,Json,Mongodb,也许这是一个愚蠢的问题,但我想知道如何在JSON对象中发布。我是这方面的新手,所以我还在学习 这是我的JSON方案 email: { type: String, unique: true, lowercase: true, required: 'Email address is required', validate: [validateEmail, 'Please enter a valid email'] }, password: {

也许这是一个愚蠢的问题,但我想知道如何在JSON对象中发布。我是这方面的新手,所以我还在学习

这是我的JSON方案

  email: {
    type: String,
    unique: true,
    lowercase: true,
    required: 'Email address is required',
    validate: [validateEmail, 'Please enter a valid email']
  },
  password: {
    type: String
  },
  role: {
    type: String
  },
  firstName: {
    type: String,
  },
  lastName: {
    type: String
  },
  phone: {
    type: Number,
    unique: true
  },
  address: [
    {
      number: {type: String},
      street: {type: String},
      city: {tyle: String},
      county: {type: String},
      postcode: {type: String}
    }
  ],
我在这里发帖子

User.findOne({email: email}, function(err, existingUser) {
    if (err) { return next(err) }
    if (existingUser) {return res.status(422).json({error: "Email taken"})}
    var user = new User({
      email: email,
      password: password,
      role: role,
      firstName: firstName,
      lastName: lastName,
      phone: phone,
      number: number,
      street: street,
      city: city,
      county: county,
      postcode: postcode
    });
所以一切都是除了地址字符串之外的。在DB中,我只能看到
“地址”:[]

这是我的注册功能

exports.signup = function(req, res, next) {
  var email = req.body.email;
  var password = req.body.password;
  var role = req.body.role;
  var firstName = req.body.firstName;
  var lastName = req.body.lastName;
  var phone = req.body.phone;
  var number = req.body.number;
  var street = req.body.street;
  var city = req.body.city;
  var county = req.body.county;
  var postcode = req.body.postcode;
  if (!email || !password) {
    return res.status(422).json({error: "You must provide an email and password"});
  }

您应该在地址键中发送
街道
城市
国家
邮政编码
,因为您希望在
地址
下这样发送:

User.findOne({email: email}, function(err, existingUser) {
    if (err) { return next(err) }
    if (existingUser) {return res.status(422).json({error: "Email taken"})}
    var user = new User({
      email: email,
      password: password,
      role: role,
      firstName: firstName,
      lastName: lastName,
      phone: phone,
      number: number,
      address: [{
        street: street,
        city: city,
        county: county,
        postcode: postcode
      }]
});

您应该在地址键中发送
街道
城市
国家
邮政编码
,因为您希望在
地址
下这样发送:

User.findOne({email: email}, function(err, existingUser) {
    if (err) { return next(err) }
    if (existingUser) {return res.status(422).json({error: "Email taken"})}
    var user = new User({
      email: email,
      password: password,
      role: role,
      firstName: firstName,
      lastName: lastName,
      phone: phone,
      number: number,
      address: [{
        street: street,
        city: city,
        county: county,
        postcode: postcode
      }]
});

您没有向新用户添加地址?!但若我添加地址,那个么它一定是一个空变量吗?因为例如,我有
firstName:firstName
,但在注册函数中,它看起来像这样
var lastName=req.body.lastName
您没有向
新用户添加地址
?!但若我添加地址,那个么它一定是一个空变量吗?因为例如,我有
firstName:firstName
,但在注册函数中,它看起来像这样
var lastName=req.body.lastName
这是正确的,但是我的
“地址”:[]
仍然是这样。您可以验证是否正确地将数据传递到此函数中吗?这是正确的,但是我的
“地址”:[]
仍然是这样。您可以验证是否正确地将数据传递到此函数中吗?