如何在DB对象中检查hasOwnProperty链

时间:2019-07-12 08:07:39

标签: javascript react-native

我有这个Json文件:

"Person": {
    "FirstName": "name",
    "LastName": "surname"
 },
"Contacts": {
    "Email": "name.surname@email.com
  }

“人”字段是在用户注册后创建的,也是“联系人”字段。

现在我不明白为什么我不能创建另一个不在数据库中存在的字段(ClinicalData)。收到捕获错误:{}。

//this function is to read value in the db if they exists
readUtente(cf) {
    let params = {};
    params = {
      //  "Person.FiscalCode": this.props.cf
      "Person.FiscalCode": cf
    };
    global.utente.db.localdb().find({
        selector: params
      })
      .then(response => {
        let utente = response.docs[0];
     if (utente.hasOwnProperty("Contacts") && utente.Contacts.hasOwnProperty("Email")
        ) {
          this.setState({ email: utente.Contacts.Email });
        } else {
          this.setState({ email: "" });
        }

          if (utente.hasOwnProperty("ClinicalData") && utente.ClinicalData.hasOwnProperty("Height")
        ) {
          this.setState({ altezza: utente.ClinicalData.Height });
        } else {
          this.setState({ altezza: "" });
        }
     //..... 
       }

//this is to write file in the db
findUtente(cf) {
        let params = {};
        params = {
          "Person.FiscalCode": cf
        };
          global.utente.db.localdb().find({
            selector: params
          })
          .then(response => {
            let utente = response.docs[0];
            utente.Contacts.Email = this.state.Email == null ? this.state.email : this.state.Email;
            utente.ClinicalData.Height = this.state.Height == null ? this.state.altezza : this.state.Height;
          return global.utente.db.localdb().put(utente);
  })
        .catch(function(err) {
        console.log(JSON.stringify(err)); // <-- the console print there: {}
     })
       .finally(function() {
       Actions.homepage();
     });
 }

您认为我为什么不能在数据库中创建此字段“ utente.ClinicalData.Height”?

0 个答案:

没有答案