下面的mongoose查询中的第三个参数是做什么的?

var Person = mongoose.model('Person', yourSchema); // find each person with a last name matching 'Ghost', selecting the `name` and `occupation` fields Person.findOne({ 'name.last': 'Ghost' }, 'name occupation', function (err, person) { if (err) return handleError(err); console.log('%s %s is a %s.', person.name.first, person.name.last, person.occupation) // Space Ghost is a talk show host. }) 

代码直接从他们的网站上获取。

我的问题是Person模式是什么样的? 如何在occupation寻找name.last

我对Person模式的理解如下:

 var userSchema = mongoose.Schema({ name: { last: String } occupation: { } }); 

如何在职业中寻找name.last?

person schema似乎有2个字段的名称和职业。 名字进一步分为firstlastoccupation领域没有任何更多的部分,这就是为什么person.occupation返回一个string 。 如果它被分成更多的部分,那么person.occupation会返回一个object

Person模式是什么样的?

 var personSchema = mongoose.Schema({ name: { first: String, last: String }, occupation: String });