filter による絞り込み

送信対象のユーザーを、指定された条件で絞り込みます。 Mongo Query Language のサブセットを条件指定に用います。 また、Arrayとして、MQLを渡すことで、

mongo > db.user.find({...}).find({...})

へと展開されます。

利用可能なパラメーター名

name 説明
registered 文字列 “YYYY-MM-DD hh:mm:ss” 登録日時
popinfo_id 文字列 popinfoID を表す。
id 整数 登録ID
location_enabled 真偽値 位置情報送信の有効
wifi_enabled 真偽値 wifi情報送信の有効
unreceived_info_count 整数 未読数
segment_id 整数 選択された属性

利用可能なオペレーター

name 説明
$gt より大きい・最近
$gte より大きい・最近 (指定の値を含む)
$lt より小さい・過去
$lte より小さい・過去 (指定の値を含む)
$in 配列を取り、含まれるを表す。
$or 配列をとり、いずれか の条件とします。
$and 配列をとり、いずれも の条件とします。

サンプル

  • 登録日時が2012年 12月 23日以降のユーザー
{
  ..(略)..
  "filter": {"registered": {"$gt": "2012-12-23 00:00:00"}},
  ..(略)..
}



  • 属性 123 or 124 かつ、属性 3 かつ、位置情報送信有効なユーザー
{
  ..(略)..
  "filter": [{"segment_id": {"$in": [123, 124]}},
             {"segment_id": 3},
             {"location_enabled": true}],
  ..(略)..
}

{
  ..(略)..
  // このクエリは意図したものにならないので注意。
  "filter": {"$and": [{"segment_id": {"$in": [123, 124]}},
                      {"segment_id": 3},
                      {"location_enabled": true}]},
  ..(略)..
}



  • 属性が東京・神奈川在住の、10代・20代の女性に配信したい**
{
   ..(略)..
   // サンプルは指定値に文字列を指定しておりますが、実際のリクエストでは指定値は整数のみ有効です
"filter": [
   {"segment_id": {"$in": [10代, 20代]}},
   {"segment_id": {"$in": [東京, 神奈川]}},
   {"segment_id": 女性}}
]
   ..(略)..



  • 年齢が10歳(segment_id:10)~20歳(segment_id:20)または、
    年齢が30歳(segment_id:30)~40歳(segment_id:40)かつ、
    性別が男性(segment_id:100)かつ、
    都道府県が東京都(segment_id:200) のユーザーに送信したい
   ..(略)..

"filter": [
  {
    "$or": [
      {
        "$and": [
          {"segment_id": {"$gte": 10}},
          {"segment_id": {"$lte": 20}}
        ]
      },
      {
        "$and": [
          {"segment_id": {"$gte": 30}},
          {"segment_id": {"$lte": 40}}
        ]
      }
    ]
  },
  {"segment_id": 100},
  {"segment_id": 200}
]

   ..(略)..



  • filter で複数のpopinfoIDを指定かつ、
    興味のあるジャンルがファッション[216]、スポーツ・レジャー[222]
    性別が女性[2]のユーザーに送信**
   ..(略)..

  "filter": [
    {
      "popinfo_id": {
        "$in": [
          "d79deca1-e6d8-4877-9f05-5a6c0487f1b0",
          "f6e760c8-c46a-4bab-b2a8-488c5547d69e",
          "7228eff8-fabf-4a85-9d68-03bf597d00a2"
        ]
      }
    },
    {
      "segment_id": {
        "$in": [
          216,
          222
        ]
      }
    },
    {
      "segment_id": 2
    }
  ]
   ..(略)..



属性IDについて

属性IDは 属性情報一覧取得API、もしくはpopinfo 管理画面の「ユーザー属性一覧」で参照可能です。