title: Error in Projection using find() method
body: <p>I am total newbie to MongoDB. I was trying out basic stuff in mongo, when I encountered a problem. I searched for it, but not able to find any satisfactory answer.</p>
  
  <p>I have a very simple collection named "users" having names and age of some persons. Below is output of <code>db.users.find()</code></p>
  
  <pre><code>{ "_id" : ObjectId("566acc0442fea953b8d94a7e"), "name" : "gabriel", "age" : 22 }
  { "_id" : ObjectId("566acc0442fea953b8d94a7f"), "name" : "andy", "age" : 10 }
  { "_id" : ObjectId("566acc1342fea953b8d94a80"), "name" : "henry", "age" : 27 }
  { "_id" : ObjectId("566acc1342fea953b8d94a81"), "name" : "william", "age" : 19 }
  { "_id" : ObjectId("566acc3242fea953b8d94a82"), "name" : "sandra", "age" : 20 }
  { "_id" : ObjectId("566acc3242fea953b8d94a83"), "name" : "tom", "age" : 24 }
  </code></pre>
  
  <p>Now, I am trying to apply different projection on it. First two are:</p>
  
  <p><code>db.users.find({}, {"name":1, "age":1})</code></p>
  
  <pre><code>{ "_id" : ObjectId("566acc0442fea953b8d94a7e"), "name" : "gabriel", "age" : 22 }
  { "_id" : ObjectId("566acc0442fea953b8d94a7f"), "name" : "andy", "age" : 10 }
  { "_id" : ObjectId("566acc1342fea953b8d94a80"), "name" : "henry", "age" : 27 }
  { "_id" : ObjectId("566acc1342fea953b8d94a81"), "name" : "william", "age" : 19 }
  { "_id" : ObjectId("566acc3242fea953b8d94a82"), "name" : "sandra", "age" : 20 }
  { "_id" : ObjectId("566acc3242fea953b8d94a83"), "name" : "tom", "age" : 24 }
  </code></pre>
  
  <p><code>db.users.find({}, {"name":0, "age":0})</code></p>
  
  <pre><code>{ "_id" : ObjectId("566acc0442fea953b8d94a7e") }
  { "_id" : ObjectId("566acc0442fea953b8d94a7f") }
  { "_id" : ObjectId("566acc1342fea953b8d94a80") }
  { "_id" : ObjectId("566acc1342fea953b8d94a81") }
  { "_id" : ObjectId("566acc3242fea953b8d94a82") }
  { "_id" : ObjectId("566acc3242fea953b8d94a83") }
  </code></pre>
  
  <p>are working just fine, but </p>
  
  <p><code>db.users.find({}, {"name":0, "age":1})</code> </p>
  
  <blockquote>
    <p>Error: error: {
            "$err" : "Can't canonicalize query: BadValue Projection cannot have a mix of inclusion and exclusion.",
            "code" : 17287
        }</p>
  </blockquote>
  
  <p>is failing and giving error as shown above. I searched that problem may arise if there is conflicting conditions in projection, but I don't think there is something like that in my method call. Is there some rule like value of fields in find method should be either all ZERO or all ONE, but cannot be both. Please help. </p>