2016-07-09 8 views
1
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. 
}) 

Der Code wird direkt von der Website übernommen.Was macht der dritte Parameter in der folgenden Mungo-Abfrage?

Meine Frage ist, wie würde das Schema Person aussehen? Wie suchen Sie nach name.last in occupation?

Mein Verständnis der Person Schema ist unten:

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

    } 
}); 

Antwort

1

Wie Sie name.last in Tätigkeit suchen?

Die person schema scheint 2 Felder Name und Beruf zu haben. Der Name ist weiter unterteilt in first und last. Das occupation Feld hat keine weiteren Teile, deshalb gibt person.occupation eine string zurück. Wäre es in weitere Teile unterteilt worden, hätte person.occupation eine object zurückgegeben.

Wie würde das Schema Person aussehen?

+0

Aber was ist der Punkt, den dritten Parameter der mit 'Name Beruf'? Würde die Abfrage nicht ohne diesen Parameter funktionieren? – jdogdvr

+0

Yup es würde funktionieren, es ist nur, dass alle anderen Felder außer Name und Beruf auch abgerufen würden. Sein zweiter und dritter Parameter. 1. ist '{'name.last': 'Geist'}'. – Red

Verwandte Themen