MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

指定された値が配列にある場合、返されたオブジェクトにブールフィールドtrueを追加します。 NULLまたはその他の値の場合は、falseに設定します。


これには、$ifNullを使用します。式を評価し、式がnull以外の値と評価された場合は、式の値を返します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo542.insertOne({"ListOfName":["Chris","David"]});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8cabc6ef4dcbee04fbbc17")
}
> db.demo542.insertOne({"ListOfName":null});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8cabc8ef4dcbee04fbbc18")
}
> db.demo542.insertOne({"ListOfName":["David"]});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8cabd3ef4dcbee04fbbc19")
}
> db.demo542.insertOne({"Name":"John"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8cabdaef4dcbee04fbbc1a")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo542.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e8cabc6ef4dcbee04fbbc17"), "ListOfName" : [ "Chris", "David" ] }
{ "_id" : ObjectId("5e8cabc8ef4dcbee04fbbc18"), "ListOfName" : null }
{ "_id" : ObjectId("5e8cabd3ef4dcbee04fbbc19"), "ListOfName" : [ "David" ] }
{ "_id" : ObjectId("5e8cabdaef4dcbee04fbbc1a"), "Name" : "John" }

以下は、特定の値をチェックするためのクエリです-

> var id = "David";
> db.demo542.aggregate([
...    {
...       "$project": {
...          "matched": {
...             "$eq": [
...                {
...                   "$size": {
...                      "$ifNull": [
...                         { "$setIntersection": [ "$ListOfName", [id] ] },
...                         []
...                      ]
...                   }
...                },
...                1
...             ]
...          }
...       }
...    }
... ])

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e8cabc6ef4dcbee04fbbc17"), "matched" : true }
{ "_id" : ObjectId("5e8cabc8ef4dcbee04fbbc18"), "matched" : false }
{ "_id" : ObjectId("5e8cabd3ef4dcbee04fbbc19"), "matched" : true }
{ "_id" : ObjectId("5e8cabdaef4dcbee04fbbc1a"), "matched" : false }

  1. BitArrayのすべてのビットをC#で指定された値に設定します

    BitArrayのすべてのビットを指定された値に設定するには、コードは次のとおりです- 例 using System; using System.Collections; public class Demo {    public static void Main() {       BitArray arr = new BitArray(5);       arr[0] = false;       arr[1] = false;       arr[2

  2. Javaでブール配列を初期化するにはどうすればよいですか?

    ブール配列 ブールデータ型の値とデフォルト値のみを格納するために使用できます ブール配列のfalse 。ブール値の配列はfalseに初期化されます および参照型の配列 nullに初期化されます 。場合によっては、ブール配列のすべての値をtrueまたはfalseで初期化する必要があります。 Arrays.fill()を使用できます そのような場合の方法。 構文 boolean[] booleanArray; 例 import java.util.Arrays; public class BooleanArrayTest {    public static void ma