使用 MongoDB 查詢陣列元素?
當查詢陣列元素時,MongoDB 更好。我們使用以下語法查詢陣列元素 -
db.yourCollectionName.find({yourArrayFieldName:"yourValue"}).pretty();
上述語法將返回所有在陣列欄位中有值“yourValue”的文件。
為了理解該概念,我們使用文件建立集合。使用文件建立集合的查詢如下 -
> db.queryArrayElementsDemo.insertOne({ ... "StudentName":"John","StudentFavouriteSubject":["C","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c90c0354afe5c1d2279d694") } > db.queryArrayElementsDemo.insertOne({ "StudentName":"Carol","StudentFavouriteSubject":["C","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c90c0434afe5c1d2279d695") } > db.queryArrayElementsDemo.insertOne({ "StudentName":"David","StudentFavouriteSubject":["MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c90c0584afe5c1d2279d696") }
使用 find() 方法顯示來自集合的所有文件。查詢如下 -
> db.queryArrayElementsDemo.find().pretty();
以下是輸出 -
{ "_id" : ObjectId("5c90c0354afe5c1d2279d694"), "StudentName" : "John", "StudentFavouriteSubject" : [ "C", "Java" ] } { "_id" : ObjectId("5c90c0434afe5c1d2279d695"), "StudentName" : "Carol", "StudentFavouriteSubject" : [ "C", "C++" ] } { "_id" : ObjectId("5c90c0584afe5c1d2279d696"), "StudentName" : "David", "StudentFavouriteSubject" : [ "MongoDB", "Java" ] }
使用 MongoDB 查詢陣列元素 -
> db.queryArrayElementsDemo.find({StudentFavouriteSubject:"Java"}).pretty();
以下是輸出 -
{ "_id" : ObjectId("5c90c0354afe5c1d2279d694"), "StudentName" : "John", "StudentFavouriteSubject" : [ "C", "Java" ] } { "_id" : ObjectId("5c90c0584afe5c1d2279d696"), "StudentName" : "David", "StudentFavouriteSubject" : [ "MongoDB", "Java" ] }
檢視以上示例輸出,以上查詢返回所有具有值“Java”的文件。
廣告