2016-03-28 24 views
1

güncellenmektedir belgeyi bakın:Ben bu şekilde yapmak mümkün olduğunu biliyoruz anda

FOR user IN users 
FILTER user._key == "7" 
UPDATE user WITH { friends: PUSH(user.friends, "8") } IN users 

Ama biraz ayrıntılı olmalıdır. Şöyle bir şey yapmanın bir yolu var mı acaba:

UPDATE "7" WITH { friends: PUSH(CURRENT.friends, "8") } IN users 

cevap

0

Haklısınız; Şu anda yalnızca bir öğeyi güncellerken CURRENT belgesini ele almanın kolay bir yolu yoktur.

Bir orijinal belgeyi tekrar getirmek için DOCUMENT function kullanabilirsiniz:

UPDATE "7" WITH 
    { friends: PUSH(DOCUMENT("user/7").friends, "8") } IN users 

Ancak, iki kez dokümanı getiremedi ve böylece ilk sorguda daha az verimli olacaktır.

İlk sorgunuzun tek bir dizin erişimi olacağını doğrulamak için db._explain()'u kullanabilirsiniz.

I've added a feature request to track this.

o değişken OLD adlandırılacaktır RETURN sözdizimi (varsa) daha kalıcı olmak.