MongoDB,find 特定のフィールドだけ表示
■ MongoDBでdb.videos.find(); とかするとフィールドが多いとかなり見ずらい。そこで、特定のフィールドだけ表示させたい。
■ コマンド例
db.videos.find({},{'_id':0, 'description':0, 'timestamp':0});
フィールド名: 0 が非表示でフィールド名: 1 が表示。
デフォルトが表示っぽいので、特定のフィールドだけ表示したい時は他のフィールドをすべて0にすればいい。
■ では1はどういうときに使うか。
条件が複数のときに使える。
titleが'Bike'だけで検索
>db.videos.find({'title': 'Bike'}); { "_id" : ObjectId("51967021e66501b29f13b47f"), "category" : "sports", "description" : "Riding motor bike", timestamp" : 1370077875348, "title" : "Bike" }
当然全フィールド出てくる。
次に{'_id':0}を条件に追加
> db.videos.find({'title': 'Bike'},{'_id':0}); { "category" : "sports", "description" : "Riding motor bike", timestamp" : 1370077875348, "title" : "Bike" }
_idのフィールドは非表示になる。
次に{'_id':1}を条件にする。
> db.videos.find({'title': 'Bike'},{'_id':1}); { "_id" : ObjectId("51967021e66501b29f13b47f") }
titleがBikeの_idだけが表示される。
参考)
https://wiki.mongodb.com/pages/viewpage.action?pageId=18907146