MongoDBアレイの特定のインデックスに挿入しますか?
MongoDB配列の特定のインデックスを挿入するには、$push演算子を使用できます。ドキュメントを使用してコレクションを作成しましょう
>db.insertToSpecificIndexDemo.insertOne({"StudentName":"Larry","StudentSubjects":["MySQL","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d2562a629b87623db1b2c") } >db.insertToSpecificIndexDemo.insertOne({"StudentName":"Chris","StudentSubjects":["C++","C"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c9d2573a629b87623db1b2d") }
以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです
> db.insertToSpecificIndexDemo.find().pretty();
これにより、次の出力が生成されます
{ "_id" : ObjectId("5c9d2562a629b87623db1b2c"), "StudentName" : "Larry", "StudentSubjects" : [ "MySQL", "Java" ] } { "_id" : ObjectId("5c9d2573a629b87623db1b2d"), "StudentName" : "Chris", "StudentSubjects" : [ "C++", "C" ] }
以下は、_id“ 5c9d2573a629b87623db1b2d”
のMongoDB配列の特定のインデックスに挿入するクエリです。> db.insertToSpecificIndexDemo.update( ... { _id: ObjectId("5c9d2573a629b87623db1b2d")}, ... { $push: { ... StudentSubjects: { ... $each: [ {"CoreSubject": "MongoDB"} ], ... $position: 0 ... } ... }} ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
値が特定の位置に挿入されているかどうかを確認しましょう。上記では、最初に挿入することを意味するインデックス0を指定しました
> db.insertToSpecificIndexDemo.find().pretty();
これにより、次の出力が生成されます
{ "_id" : ObjectId("5c9d2562a629b87623db1b2c"), "StudentName" : "Larry", "StudentSubjects" : [ "MySQL", "Java" ] } { "_id" : ObjectId("5c9d2573a629b87623db1b2d"), "StudentName" : "Chris", "StudentSubjects" : [ { "CoreSubject" : "MongoDB" }, "C++", "C" ] }
サンプル出力を見ると、「CoreSubject」:「MongoDB」がMongoDB配列の先頭に挿入されています。
-
MongoDBを使用して、特定のネストされたドキュメントのオブジェクトの配列をクエリしますか?
ネストされたドキュメントのオブジェクトの配列をクエリするには、find()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo763.insertOne( ... { ... _id:1, ... CountryName:"US", ... "studentInformation": [ ... {
-
MongoDBで配列をクエリして、特定の値をフェッチします
配列から特定の値をフェッチするには、$ projectとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo761.insertOne( ... { ... "details": [ ... { ... "student": { ... &nb