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

重複する要素がないMongoDBの$addToSetで値を表示しますか?


$ addToSet演算子を使用して、セットに重複アイテムが追加されていないことを確認します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.getDistinctDemo.insertOne({"Values":[100,200]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cef69f9ef71edecf6a1f69d")
}
> db.getDistinctDemo.insertOne({"Values":[300,100]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cef6a07ef71edecf6a1f69e")
}

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

> db.getDistinctDemo.find().pretty();

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

{
   "_id" : ObjectId("5cef69f9ef71edecf6a1f69d"),
   "Values" : [
      100,
      200
   ]
}
{
   "_id" : ObjectId("5cef6a07ef71edecf6a1f69e"),
   "Values" : [
      300,
      100
   ]
}
>

以下は、MongoDBで異なるレベルの配列フィールドを取得するためのクエリです-

> db.getDistinctDemo.aggregate([    
   { "$group": { "_id": 0,            
      "MyValues": { "$addToSet": "$Values" }      
   } }
]);

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

{ "_id" : 0, "MyValues" : [ [ 300, 100 ], [ 100, 200 ] ] }

  1. 配列要素を使用してMongoDBで特定のドキュメントをフェッチします

    特定のドキュメントをフェッチするには、MongoDB find()でドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo672.insertOne({Brand:[{CategoryName:"Mobile","Name":"Oppo"}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea3ea9b04263e90dac9

  2. MongoDBでforループを使用して値をプッシュする方法は?

    値をプッシュするには、forループとともにsave()を使用します。ドキュメントを使用してコレクションを作成しましょう- > for(var v=1; v<7; v++) { ... db.demo739.save({Name:"Chris",SubjectName:"MongoDB"}); ... } WriteResult({ "nInserted" : 1 }) find()メソッドを使用してコレクションからすべてのドキュメントを表示する- > db.demo739.find(); これにより、次の出力が生