0
到datbase
我似乎無法弄清楚如何在數據庫中更新數據:保存數據Baqend
下面是代碼:
handleSubmit(event) {
event.preventDefault();
var fulladdress = this.state.address1 +" "+ this.state.city +", "+ this.state.state +" "+ this.state.zip;
Geocoder.getFromLocation(fulladdress).then(
json => {
var location = json.results[0].geometry.location;
//alert(location.lat + ", " + location.lng);
var geo = new db.GeoPoint(location.lat, location.lng)
var updatecompany = new db.Companies({
id: '16747fce-f0b1-422b-aa60-220c2dccac58',
name: this.state.name,
logo: '',
photo: '',
address1: this.state.address1,
address2: this.state.address2,
city: this.state.city,
state: this.state.state,
zip: this.state.zip,
geo: geo,
});
updatecompany.update().then(() => {
alert("company saved!")
})
},
error => {
alert(error);
}
);
}
在這個文件中,我希望更新公司資料的數據。首先,我們從Google Maps API獲取緯度/經度。
當我運行這個時,我得到這個錯誤:未處理的拒絕(EntityExistsError):實體/ db/Companies/16747fce-f0b1-422b-aa60-220c2dccac58由不同的db管理。
我試着刪除ID,但後來我得到這個錯誤:Unhandled Rejection(PersistentError):無法插入新的對象。
我需要使用鑰匙還是別的嗎?或者,ID是否傳遞到對象之外?
我想我明白你在這裏說什麼......只是爲了澄清:baqend只會更新我們傳遞的鍵/值?那麼在你的例子中,這隻會更新company.name?而且我也不應該傳遞空串,因爲我們只需要傳遞將要改變的內容。 –
這工作得很好,我想你必須建立一個對象,然後以某種方式將它傳回baqend,這種方法要簡單得多! –
如果您事先通過查找或加載調用加載對象,則ref僅返回此以前加載的對象。因此更新可以很容易地應用。 –