node.js - nodejs 从 mongodb 获得双倍记录
问题描述
var express = require('express');
var router = express.Router();
var Product = require('../models/products');
/* GET home page. */
router.get('/', function(req, res, next) {
var products = Product.find();
res.render('shops/index', { title: 'Express' ,Product:products});
});
module.exports = router;
我是 nodejs 和 mongodb 的新手。我在数据库中有 5 条记录,但上面的代码从数据库返回 15 条记录
这是实现的模型
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var schema = new Schema({
imagePath:{type: String,required:true},
title:{type: String,required:true},
description:{type: String,required:true},
price:{type: String,required:true},
});
module.exports = mongoose.model('Product',schema);
解决方案
find 是一个异步操作,其结果在回调函数中提供。查询它看起来像这样:
Product.find({}, function(err, products) () {
res.json(products);
});
但我不明白为什么你会得到 15 个结果......
推荐阅读
- python - 将 .mean() 应用于具有条件的分组数据
- c# - CertEnrol import pfx 您输入的密码不正确
- python-3.x - python 正则表达式用法:如何开始,最少匹配,获取中间内容
- python - ValueError:在进行聚类时,输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值
- mysql - 同时使用计数和求和?
- javascript - 三.js 屏幕宽度
- python - 有没有办法计算S n中 D 2n的陪集
- javascript - VueJS 2 无法在mounted()、created() 钩子中发出事件
- python - Python:如何执行以下数据框操作
- arrays - 遍历 json 对象并获取特定数据