2013-06-04 28 views
4

我有一個具有EMBEDDEDSET/EMBEDDEDLIST字段的類的OrientDB數據庫,每次更改某個內容(如記錄日誌)時,都需要更新該字段。在OrientDB中的字符串嵌入集/列表中插入數據

我使用的是正常insert

insert into order set ..., logLikeField = "A new value" 

通過這種新的價值取代了舊的,而我需要的是將其添加到列表中,但我不能找出如何在文檔中做這件事。

現在我列出並添加新的值並替換舊的列表(首先是select然後是update),但我不喜歡它,我需要儘可能少地做到這一點查詢。

順便說一下,我使用Java(無數據庫JDBC)。

[編輯]

如建議在回答以下我所用:

insert into order add logLikeField = "A new value" 

它在OrientDB工作室工作得很好,但它什麼都不做時,我把它從我的程序。

這是代碼(西班牙語言):

db.command(command("update ordenes set fecha = ?, numero = ?, producto = ? where @rid = " + orden.id)).execute(orden.fecha, orden.numero, orden.producto); 
db.command(command("update ordenes add registro = ? where @rid = " + orden.id)).execute(registro); 

我想要的是一個在線解決方案,但只要它不是一個選擇它的好。

這是命令方法:

public OCommandSQL command(sql){ 
    return new OCommandSQL(sql); 
} 

第一個命令正確,但與另外一個我什麼也沒得到,甚至也不例外做這項工作。

我的方法有什麼問題?它可能是一個錯誤?

OrientDB 1.3.0 - Java的1.7.0 - Windows 7的64

回答

4
update order add logLikeField = "A new value" 
+0

感謝。這部分爲我工作。我不知道什麼是錯的,在OrientDB Studio中它工作正常,但在我的軟件中它什麼都沒做(同樣的查詢)。 – jsnoriegam

+0

你是否稱過SQL? – Lvca

相關問題