1. koshilife

    No comment

    koshilife
Changes in body
Source | HTML | Preview
@@ -1,38 +1,38 @@
[@koshi_life](https://twitter.com/koshi_life) です。
[mongo-express](https://github.com/mongo-express/mongo-express) の Advanced 検索窓 使い方の備忘録です。mongo-expressでは、RDBMSでいうテーブルにあたるコレクションに対してWeb画面でクエリを投げてデータの中身を確認することができます。
## Simple検索窓
<img width="600" alt="simple.png" src="https://qiita-image-store.s3.amazonaws.com/0/51734/5c58fa77-5a7c-3cf9-d13a-523b88caa4e6.png">
1fieldに対する値検索や正規表現での検索は、「Simple」という検索窓で直感的にデータを確かめられてとても便利です。
## Advanced 検索窓
<img width="600" alt="advanced.png" src="https://qiita-image-store.s3.amazonaws.com/0/51734/2bba8289-4660-65a1-bd52-a1a5807d9984.png">
複数条件での検索したい時は「Simple」検索窓ではできないため、右側のタブの「Advanced」の検索機能を利用します。ただ、このテキストエリアの `Query`(クエリ), `Projection`(射影) にどんな形式で指定すればよいかわかりませんでした。[^1]
以下 [README.md](https://github.com/mongo-express/mongo-express/blob/master/README.md#search) より引用。
>Advanced search passes the find and projection fields/objects straight into MongoDB db.collection.find(query, projection). The find object is where your query happens, while the projection object determines which columns are returned.
>
>See [MongoDB db.collection.find()](https://docs.mongodb.com/manual/reference/method/db.collection.find/) documentation for examples and exact usage.
-要は、 `db.collection.find()` の形式で書けるぜってことなので2例ほど書いてみる。
+要は、 `db.collection.find(query, projection)` の形式で書けるぜってことなので2例ほど書いてみる。
[^1]: この [Issue](https://github.com/mongo-express/mongo-express/issues/200) でREADME.md に Advanced search の使い方が記載されたとのこと。確かに見ればわかるがPlaceholderに記載あると嬉しいな。
## 例
|No|Query|Projection|こんな内容|
|:--|:--|:--|:--|
|1|```{"status": 1, "access_token": {$ne: ""}}```|```{_id: 0, "email":1}```|クエリ:`status`=="1" AND `access_token` NOT 空 、表示列は `email` だけ。|
|2|```{"created_at": { $gte: "2019/03/01 0:00:00", $lt: "2019/04/01 0:00:00" } }```|```(空)```|3月中に作成されたレコード一覧。列は全て。|
### 参考
- [3分で導入できる MongoDB データ可視化ツール mongo-express](https://qiita.com/koshilife/items/dcc2b17e4c880d65ba78)
- [mongo-express で複数DBを見る方法](https://qiita.com/koshilife/items/2073629778d853544f08)