illage4
illage4

Reputation: 463

Where is the syntax error

I have this code and I'm trying to run it on LocalHost. I keep getting an unexpected token error. Does anyone know why?

What I'm trying to do is make a simple API that takes inputs from the user and saves them onto a monogo database.

var PodDoc = require('../models/pods.js');

module.exports = {
  save: save
}

function save(pod, callback){
  var podToSave = new PodDoc();
  podToSave.firstName = pod.firstName;
  podToSave.lastName = pod.lastName;
  podToSave.skills = pod.skills;
  podToSave.avatarUrl = pod.avatarUrl;
  podToSave.address = {
    address.number = pod.address.number; //This is where the Unexpected Token is
    address.lineOne = pod.address.lineOne;
    address.lineTwo = pod.address.lineTwo;
    address.postcode = pod.address.postcode;
  };
  podToSave.phoneNumbers = {
    podToSave.phoneNumbers.mobile = pod.phoneNumbers.mobile;
    podToSave.phoneNumbers.landline = pod.phoneNumbers.landline;
  }
  podToSave.save(function(err){
    if(err){
      console.log(err);
    } else {
      console.log("Cool!");
      callback();
    }
  })
}

Upvotes: 0

Views: 67

Answers (1)

Marcos Casagrande
Marcos Casagrande

Reputation: 40404

Object properties are set this way:

var obj = {
  foo: "foo", //':' instead of '=' and ',' not ';'
  bar: "bar"    
};

If you want to set a property later on:

obj.test = "test";
obj["test"] = "test";

var test = "test";
obj[test] = test; //Using a variable value as property

But not like this:

var obj = {
  obj.foo: "foo" //syntax error
};

Here's your code fixed:

podToSave.address = {
    //number not address.number
    number: pod.address.number, //= and ; changed
    lineOne: pod.address.lineOne,
    lineTwo: pod.address.lineTwo,
    postcode: pod.address.postcode
  };
  podToSave.phoneNumbers = {
    mobile: pod.phoneNumbers.mobile,
    landline: pod.phoneNumbers.landline
  }

Upvotes: 6

Related Questions