Dans la documentation MongoDB ici il dit de faire quelque chose comme:
mongoose.connect('mongodb://localhost:27017/eBookStore'); let newBookSchema = new mongoose.Schema({ bookName: {type: String}, bookSubtitle: {type: String}, publicationDate: {type: Number, default: new Date().getTime()} }); let Book = mongoose.model('books', newBookSchema); db.Book.find();
Dans mon code, j'ai cette partie:
db.bios.find()
où «eBookStore» est le nom de ma base de données et «livres» est le nom de ma collection. Je sais que l'endroit où j'ai tapé «db» dans «db.Book.find ()» est incorrect, mais je ne sais pas à quoi devrait ressembler le code lors du référencement de la base de données. Veuillez aider!
4 Réponses :
Vous pouvez consulter la documentation de la mangouste
https://mongoosejs.com/docs/guide.html
Pour être spécifique au modèle, utilisez le lien ci-dessous https://mongoosejs.com/docs/models.html
Ex let Book = mongoose.model ('Book', newBookSchema, 'books');
// Le premier argument est le nom du modèle mangouste, le deuxième schéma et le troisième nom de la collection dans mongodb
Book.find ({}}, fonction (err, arr) {});
En utilisant votre même code, une fois que vous avez connecté mongo via mongoose vous pouvez effectuer la recherche directement, pas besoin de mentionner db. Cela fonctionne toujours si vous avez un schéma de la collection dans laquelle vous souhaitez effectuer une recherche.
mongoose.connect('mongodb://localhost:27017/eBookStore'); let newBookSchema = new mongoose.Schema({ bookName: {type: String}, bookSubtitle: {type: String}, publicationDate: {type: Number, default: new Date().getTime()} }); let Book = mongoose.model('book', newBookSchema); Book.find({queryForFilters});
Remarquez que j'ai supprimé le «s» dans les livres à la ligne 9 de votre code. C'est parce que mangouste note le premier argument au pluriel et en minuscules, donc passer book comme premier argument aboutira à une collection nommée books.
Book.findOne({bookName: 'Game of thrones'}, (err,oneBook) =>{ console.log(oneBook); });
Vous avez ceci est votre schéma 1. bookName 2. livreSous-titre 3. date de publication Ainsi, en utilisant l'un des, vous pouvez trouver les détails du schéma
Vous avez créé la fonction comme ci-dessous pour rechercher le schéma du livre de n'importe oùpublic getBookDetails(name, callback: CallableFunction) { Book.find({bookName: name }, (err, book) => { if (err) { callback(err); } else { callback(book); } }); }
J'ai une application publique utilisant nodejs et mangouste ici. Puisse-t-il vous aider github.com/dangminhtruong/havana