|
|
00:01 Now sometimes you don't want all the data back,
|
|
|
00:03 usually it doesn't really matter to you if it comes back or it doesn't come back,
|
|
|
00:05 in the shell you're printing it out, it probably matters,
|
|
|
00:08 but in practice, in your app, you rarely care
|
|
|
00:10 from a display perspective or an interaction perspective,
|
|
|
00:14 whether some field or list that you are not using has data or not
|
|
|
00:19 but from a performance perspective, you very much may care.
|
|
|
00:22 Suppose that you have a document that's 50k in size
|
|
|
00:25 and all you want back is the isbn and the title and those are 1k,
|
|
|
00:30 and you're getting a bunch of them back,
|
|
|
00:32 it turns out that that can make a really big difference in terms of performance.
|
|
|
00:35 So whether it's for display purposes or it's for performance network purposes
|
|
|
00:39 using this second argument here we can say
|
|
|
00:44 only return the isbn and the title, and don't give me all of the ratings,
|
|
|
00:48 don't give me the images, everything else that might be in this book.
|
|
|
00:51 So we run this, and we get back these objects here, these documents,
|
|
|
00:56 and notice, we have the isbn and the title, like we asked for
|
|
|
00:59 but we also have the _id,
|
|
|
01:01 so unless you explicitly forbid the id from coming back
|
|
|
01:04 the id always comes, and everything else defaults to not appearing,
|
|
|
01:07 unless you indicate it if you pass some document here
|
|
|
01:10 for the projection or the restriction of things that come back.
|
|
|
01:14 If for some reason you don't want the id to come back,
|
|
|
01:16 just say_id:0 or false or something like this,
|
|
|
01:19 and then it will just have isbn and title exactly. |