Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB 배열의 특정 인덱스에 삽입하시겠습니까?

<시간/>

MongoDB 배열에 대한 특정 인덱스를 삽입하려면 $push 연산자를 사용할 수 있습니다. 문서로 컬렉션을 만들자

>db.insertToSpecificIndexDemo.insertOne({"StudentName":"Larry","StudentSubjects":["MySQL","Java"]});{ "승인됨":true, "insertedId":ObjectId("5c9d2562a639b82c2 ")}>db.insertToSpecificIndexDemo.insertOne({"StudentName":"Chris","StudentSubjects":["C++","C"]});{ "승인됨":true, "insertedId":ObjectId("5c9d2573a629b1b2d623 ")}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다.

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

그러면 다음과 같은 출력이 생성됩니다.

{ "_id":ObjectId("5c9d2562a629b87623db1b2c"), "StudentName":"래리", "StudentSubjects":[ "MySQL", "Java"]}{ "_id":ObjectId("5c9d25873a623db) 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":"래리", "StudentSubjects":[ "MySQL", "Java"]}{ "_id":ObjectId("5c9d25873a623db) StudentName" :"Chris", "StudentSubjects" :[ { "CoreSubject" :"MongoDB" }, "C++", "C" ]}

샘플 출력을 보면 "CoreSubject":"MongoDB"가 MongoDB 배열의 시작 부분에 삽입됩니다.