gpt4 book ai didi

javascript - MongoDB 文档中的歧义-Model.find()

转载 作者:行者123 更新时间:2023-11-30 14:30:27 25 4
gpt4 key购买 nike

所以我在做 this tutorial在第 5 步。创建通过 Restful API 访问图书数据的路由 它说

var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var Book = require('../models/Book.js');

/* GET ALL BOOKS */
router.get('/', function(req, res, next) {
Book.find(function (err, products) {//this is the line I'm having trouble understanding
if (err) return next(err);
res.json(products);
});
});

我不明白的是,如果我正在阅读 Mongoose.find() documentation正确地,在传递回调函数之前至少需要传递一个“options”的强制参数。这似乎跳过了强制参数。

教程与文档不一致吗?

我尝试过的:

审查文档@ https://github.com/Automattic/mongoose/blob/master/History.md

但这并没有提到第一个第一个参数的可选性。

最佳答案

Mongoose 从您的 Book.find() 构建一个 MongoDB .find() 查询,如果您 look at Mongoose source ,您会看到 Model.find 检查 find 的第一个参数是否是一个函数,如果是,则将该函数作为在线 MongoDB 查询构建器的回调传递1566.

这样一个空的 conditions 对象被 Mongoose 传递给 MongoDB find 函数以及您的回调函数,它返回您案例中的所有书籍。

关于javascript - MongoDB 文档中的歧义-Model.find(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51282794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com