1. ホーム
  2. MongoDB

MongoDBクエリ

2022-02-11 13:40:53

MongoDBクエリ

指定されたコレクション内のすべてのドキュメントを問い合わせる

db.collectionName.find()

条件から探す

db.collectionName.find({"attribute1" : "値1", "attribute2" : "値2 " })。

正規表現を使ったファジーなクエリ

指定されたキー値を返します。

db.collectionName.find({"queryCondition1": "value1"}, {"attribute1" : 1, "attribute2 " : 1}), 第2パラメータ、属性1の値は1であり、この値は表示する必要があるという意味である。0であれば、この値は表示しないことを意味します。1と0が混在しないように注意してください。

レンジクエリ、$gtより大きい 範囲指定クエリ、$gte 以上 かつ $lt より小さい 以下、または$lteと等しい

db.collectionName. ({"attribute1" : {"$gte" : 18, "$lte" : 30}}) を使用します。

クエリ $ne と等しくない

db.collectionName.find("name" : {$ne : "ローズ"})

複数の値が $in に一致する

複数の値が $nin に一致しない

Null

このようなクエリは効果的ではありません

exists: true, キーが存在すると判断される。$in:[null]、値がnullであることを示します。

配列のクエリ

これは、マッチしたデータ全体が返されるようにクエリされる。

1つでもマッチすればすぐに$allが返される

指定された長さを問い合わせ、長さが2である場合のみ返します。

制限する。 指定された件数を返します

スキップ スキップするデータ量

ソート ソート、1 正順, -1 逆順

ブーリアン演算

$neには上記のような例がありますが、ここではあまりありません

しない 逆条件式

mysqlステートメントであれば、NULL値に対するクエリと解釈することができ、IS NULLとNOT IS NULLを使って、データベースの値がNULLかどうかを示すことができます、$notで同じ効果になります。

lteクエリは19歳以下ですが、$notを使用すると19歳以上のユーザーを対象としたクエリになります。

または またはクエリ

配列の中の条件のいずれかを満たしていれば、比較的単純なのでここでケースを与えても問題ありません。norは$orの逆で、すべての条件が一致しないので、自分でクエリ条件を書いてみるのもいいでしょう。

一貫性のあるクエリ、ここではデータを返すためにすべての条件を満たす必要があります

存在する 属性が存在するかどうかを判断するために

emails属性がNULLの場合でも、ユーザーにその存在を問い合わせることができる

ここで javascript クエリ演算子

クエリ文が非常に複雑で、これでは要件を満たせない場合がよくありますが、カスタムjavascript関数をクエリとして使用することができます。

例えば、年齢が来年19歳のユーザーを調べたい場合、age + 1 == 19となる関数を使用します。

$slice 返されたドキュメントのサブセットを選択する

例えば、ユーザーが多くの好みを持っているが、最初の2つだけを返す必要があるとします。

あるいは、2番目と3番目の趣味を返す必要があり、スライスには2つのパラメータがあります。

最後の2つの趣味を負の数で返す

WeChatの公開番号(プログラマーバニー)をフォローして、随時技術を共有する