0

私は次の構造を持っています:

{
    "id": "3065e957-56e9-4084-8e32-bb4de8d9265a",
    "id_service": "570b4abe-70fe-44e0-845e-74eb60081fc4",
    "つぶやき": [
        {
            "created_at": "2013-10-13 00:58:11",
            "id_tweet": "389193311908413440",
            "id_user": 12375562,
            "名前": "elgabo1",
            "写真": "https://pbs.twimg.com/profile_images/1827710728/45d1be6d2e0f1c710814e098d6f56c12_normal.png",
            "screen_name": "elgabo1",
            "status_tweet": 0,
            "text": "@profeco Deurope Gran Sur tapa los Sellos de suspensión con propaganda"
        }、
        {
            "created_at": "2013-10-02 06:50:01",
            "id_tweet": "385295588377387008",
            "id_user": 12375562,
            "名前": "elgabo1",
            "写真": "https://pbs.twimg.com/profile_images/1827710728/45d1be6d2e0f1c710814e098d6f56c12_normal.png",
            "screen_name": "elgabo1",
            "status_tweet": 1,
            "text": "@caspoliciadf Delegacion coyoacan"
        }
    ]
}

id_tweet:"389193311908413440" から status_tweet:1 を設定したい

id_tweet:"389193311908413440" で配列の要素を取得できます

r.db('twitter_settings').table('tweets_service').filter({id:'3065e957-56e9-4084-8e32-bb4de8d9265a'})
    .map(関数(d){
        戻る {
            "つぶやき": d("つぶやき").filter({'id_tweet':'665305939294056448'})
        }
    }
    )

しかし、フィールドを更新しようとすると、エラーが発生します。

r.db('twitter_settings').table('tweets_service').filter({id:'3065e957-56e9-4084-8e32-bb4de8d9265a'})
    .map(関数(d){
        戻る {
            "つぶやき": d("つぶやき").filter({'id_tweet':'665305939294056448'})
        }
    }
    )
    .update({"status_tweet": 1})


e: SELECTION 型が必要ですが、SEQUENCE が見つかりました:
値のシーケンス:
r.db("twitter_settings").table("tweets_service").filter({id: "3065e957-56e9-4084-8e32-bb4de8d9265a"}).map(function(var_341) { return {tweets: var_341("tweets ").filter({id_tweet: "665305939294056448"})}; }).update({status_tweet: 1})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^

前もって感謝します

4

1 に答える 1

0

ご利用後の更新・削除はできませんmap

mapそのため、更新関数内で実行するように関数を変更してください。このようなものが機能します。

r.db('twitter_settings').table('tweets_service')
  .filter({id:'3065e957-56e9-4084-8e32-bb4de8d9265a'})

  .update(function(doc) {
    return {
      tweets: doc('tweets').map(function(tweet) {
        return r.branch(
          tweet('id_tweet').eq('389193311908413440'),
          tweet.merge({status_tweet:1}),
          tweet)
      })
    }
  })
于 2015-11-21T01:58:37.250 に答える