プロが教える店舗&オフィスのセキュリティ対策術

mongoDBってのがいまいちわかりません。
1.key-value型というのはhashMapのようになっているのでしょうか?(valueにjsonで値がはいってる?
2.sql的なことはできるのでしょうか?
・keyやvalueに対するlike検索なのはできるのでしょうか?
・valueの特定項目のみを取得するようなことはできるのでしょうか?
3.postgresのように実際にローカルで動かしたいのですが、何かおすすめのアプリはあるでしょうか?
ローカルにhttps://www.mongodb.com/download-center#communityからいれてpgAdminのようなかんじでsqlを発行して試すような。。。

質問者からの補足コメント

  • つらい・・・

    追加で質問です。。。
    ■valueの特定の項目にindexをはることはできるのでしょうか?
    ex.)項目1にindexを張るような。。(index自体がそもそもありますか?
    {"A":[
    {"項目1":"1", "備考1":"A"}
    ],
    "B":[
    {"項目2":"2", "備考2":"B"},
    {"項目3":"3", "備考3":"C"}
    ],
    "C":[
    {"項目1":"4", "備考4":"D"}
    ]

    }

    ■トランザクションはあと勝ちになるのでしょうか?

      補足日時:2017/07/02 02:00

A 回答 (1件)

使ったことないのでサラっと調べてみました。


https://utage.headwaters.co.jp/blog/?p=5051
http://qiita.com/saba1024/items/f2ad56f2a3ba7aaf …
http://qiita.com/yoh-nak/items/d21f672a42028d331 …
http://salvador.hatenablog.jp/entry/2013/09/29/1 …

いわゆる Key-Value ではないようですね。
RDB で言う所のレコードが「ドキュメント」と呼ばれていて、ドキュメントは JSON 形式の構造をしているようですから。
だから検索もドキュメント内のフィールドの値に対して行うのでしょう。
検索は find() で行い、列名と値を指定するようです。
検索条件は一通りそろっているようです。 正規表現での検索もできるみたいですね。
find の第二引数を使うと、各列の表示/非表示を指定できるようです。

ロックに関してはバージョン 3 でドキュメント レベルでのロックもできるようになったみたいです。
http://qiita.com/fetaro/items/050a20f695652c6acc94

あとはよくわかりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!