一、查詢主鍵objectId
db.product.find({"_id",ObjectId("564e845ee4b0281c3f8fcf60")})
二、查詢數組或者對象內容
使用$elemMatch匹配內數組內的元素
db.product.find({"parameSet":{"$elemMatch":{"564c408fe4b005ef3b0c1a69":"KFFF"}}})
等價於
db.product.find({"parameSet.564c408fe4b005ef3b0c1a69":"KFFF"})
其他:
幫助信息請訪問
http://www.runoob.com/mongodb/mongodb-query.html
http://www.mongoing.com/
mongodb like查詢
假如需要查找的字符串爲"產品",則可以用db.tables.find({"name":/產品/}),
或者db.tables.find({"name":/^產品/}) ,
或者db.tables.find({"name":/產品.*/}),
或者db.tables.find({"name":/.產品.*/})
下面就分析下這幾種查詢的對應結果有什麼不同:
1)db.product.find({"extra_data.region":/.外套.*/})
共112條記錄:包含了【防水外套,防曬外套,防寒保暖外套。。。。】
【注:由結果可以看出所查字符前面必須有字符,相當於:db.product.find({"extra_data.region":/.外套./}),也相當於db.product.find({"extra_data.region":/.外套/})】
-----------------------------------------------------------------------------------------------------------
2)db.product.find({"extra_data.region":/^外套/})
共108條記錄:包含了【外套裝。。。。】
【注:由結果可以看出,此查詢必須以所查字符開始】
-----------------------------------------------------------------------------------------------------------
3)db.product.find({"extra_data.region":/外套.*/})
共220條記錄:記錄包含了【防水外套。防曬外套,防寒保暖外套,外套裝。。。。】
【注:由結果可以看出前面字符可以有也可以沒有,相當於:db.product.find({"extra_data.region":/外套/})】
-----------------------------------------------------------------------------------------------------------
最後再分析下記錄的結果,由上面三種查詢可以看出,前兩個查詢的結果和正好等於最後一種的查詢結果,這與註解完全符合。
---------------------------------------------------------------------------------------------------------------------------------