0
我對RethinkDB相當新穎,所以我能夠在JavaScript中創建我的查詢,現在的問題是將此查詢轉換爲Java語言。RethinkDB javascript to java查詢
有更多經驗的人能幫助我嗎?
r.db('reval').table('measurements').filter({ measurementId: 1478261131038})
.update(function(measurement){
return r.branch(measurement.hasFields('movingObject'),
{ movingObject: measurement('movingObject').append({'x': 10, 'y': 40})},
{ movingObject : [{'x': 0, 'y': 0}]}
)})
UPDATE:
從......我能插入陣列的第一個對象一定的幫助後。現在的問題是當我想繼續插入更多的元素。
我開始與該記錄:
{
"from": null ,
"id": "c94aa215-a47e-4cd0-8f98-1b69d7e93a1d" ,
"measurementId": 1478273740811 ,
"movingObject": null,
"time": null ,
"userObject": null
}
調用此查詢後:
MapObject myArray = new MapObject().with("x", 20).with("y", 80);
MapObject myArray2 = new MapObject().with("x", 10).with("y", 40);
HashMap run = r.db("reval").table("measurements")
.filter(measurement -> measurement
.g("measurementId")
.eq(1478273740811L))
.update(measurement ->
r.branch(
measurement.hasFields("movingObject"),
r.hashMap("movingObject", measurement.g("movingObject").append(myArray)),
new MapObject().with("movingObject", myArray2)
)).run(connectionFactory.createConnection());
結果是這樣的:
{
"from": null ,
"id": "c94aa215-a47e-4cd0-8f98-1b69d7e93a1d" ,
"measurementId": 1478273740811 ,
"movingObject": {
"x": 10 ,
"y": 40
} ,
"time": null ,
"userObject": null
}
現在,當我想插入另一個元素成我的數組(在本例中{{「x」:20,「y」:80}})Java代碼給出了以下錯誤:
{
deleted=0,
inserted=0,
unchanged=0,
replaced=0,
first_error=Expected type ARRAY but found OBJECT.,
errors=1,
skipped=0
}
任何人都可以給我一些關於如何解決這個問題的指針,因爲我認爲我們非常接近解決方案。
感謝您的幫助,我實現了您提供的代碼(一些改動後)。我仍然有一些問題,如需更多詳細信息,請查看最新的問題。 – Anonymous
@匿名MB你必須爲此寫另一個問題? – Suvitruf
否根據上述問題** UPDATE **中的詳細內容列出。 – Anonymous