From e2a00798f8379d2f381a4fecf66e161be50ea22f Mon Sep 17 00:00:00 2001 From: Ai-Lyn Tang Date: Wed, 24 Jul 2019 02:30:07 +1000 Subject: [PATCH] Add solution to hint stub (mongoDB model.findById) (#36494) * Add solution to hint stub (mongoDB model.findById) * Use callback in `createAndSavePerson()` --- .../index.md | 71 +++++++++++++++++-- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/guide/english/certifications/apis-and-microservices/mongodb-and-mongoose/use-model.findbyid-to-search-your-database-by-id/index.md b/guide/english/certifications/apis-and-microservices/mongodb-and-mongoose/use-model.findbyid-to-search-your-database-by-id/index.md index 31e744f929..3080ffd407 100644 --- a/guide/english/certifications/apis-and-microservices/mongodb-and-mongoose/use-model.findbyid-to-search-your-database-by-id/index.md +++ b/guide/english/certifications/apis-and-microservices/mongodb-and-mongoose/use-model.findbyid-to-search-your-database-by-id/index.md @@ -1,10 +1,73 @@ --- title: Use model.findById() to Search Your Database By _id --- -## Use model.findById() to Search Your Database By _id +# Use model.findById() to Search Your Database By _id -This is a stub. Help our community expand it. +## Solutions -This quick style guide will help ensure your pull request gets accepted. +
Solution #1 (Click to Show/Hide) - +Code for `myApp.js` + +```javascript +/** 1) Install & Set up mongoose */ +const mongoose = require('mongoose'); +mongoose.connect(process.env.MONGO_URI); + +/** 2) Create a 'Person' Model */ +var personSchema = new mongoose.Schema({ + name: String, + age: Number, + favoriteFoods: [String] +}); + +/** 3) Create and Save a Person */ +var Person = mongoose.model('Person', personSchema); + +var createAndSavePerson = function(done) { + var janeFonda = new Person({name: "Jane Fonda", age: 84, favoriteFoods: ["vodka", "air"]}); + + janeFonda.save(function(err, data) { + if (err) return console.error(err); + done(null, data) + }); +}; + +/** 4) Create many People with `Model.create()` */ +var arrayOfPeople = [ + {name: "Frankie", age: 74, favoriteFoods: ["Del Taco"]}, + {name: "Sol", age: 76, favoriteFoods: ["roast chicken"]}, + {name: "Robert", age: 78, favoriteFoods: ["wine"]} +]; +var createManyPeople = function(arrayOfPeople, done) { + Person.create(arrayOfPeople, function (err, people) { + if (err) return console.log(err); + done(null, people); + }); +}; + +/** 5) Use `Model.find()` */ +var findPeopleByName = function(personName, done) { + Person.find({name: personName}, function (err, personFound) { + if (err) return console.log(err); + done(null, personFound); + }); +}; + +/** 6) Use `Model.findOne()` */ +var findOneByFood = function(food, done) { + Person.findOne({favoriteFoods: food}, function (err, data) { + if (err) return console.log(err); + done(null, data); + }); +}; + +/** 7) Use `Model.findById()` */ +var findPersonById = function(personId, done) { + Person.findById(personId, function (err, data) { + if (err) return console.log(err); + done(null, data); + }); +}; +``` +