Mongoose:.find() 不返回任何文档
Posted
技术标签:
【中文标题】Mongoose:.find() 不返回任何文档【英文标题】:Mongoose : .find() doesn't return any document 【发布时间】:2019-03-19 04:38:51 【问题描述】:编辑: 重复:Mongoose find() not returning result
我是 nodejs 和 nosql db 的新手。今天我正在创建一个 API,它使用两个条目读取我的用户集合:
问题是结果是一个空数组:
代码如下:
型号:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UserModelSchema = new Schema(
_id: Schema.Types.ObjectId,
user_id:String,
age: type: Number ,
status:String
);
module.exports = mongoose.model('user', UserModelSchema);
app.js:
//...
var User = require('./app/models/user');
//...
router.route('/users')
// get all the users
.get(function(req, res)
User.find(function(err, users)
if (err)
res.send(err);
res.json(users);
);
);
【问题讨论】:
可能是***.com/questions/14183611/…的欺骗 【参考方案1】:您可能希望(即使没有必要)将查询条件传递给您的 find
查询:
对于所有用户,条件为:
User.find(<condition>, function(err, users)
if (err)
res.send(err);
res.json(users);
);
但我发现如果集合是通过某种方法创建的,那么您的find
可能无法正常工作。 Mongoose find() not returning result
这可能是问题所在。正常的代码方面你很好。我建议您删除该集合并从猫鼬本身插入开始。这样会更干净
希望这会有所帮助!!
【讨论】:
我仍然有一个空数组作为结果 哦!除此之外我找不到任何问题。users
是空数组吗?
User.find(, function(err, users) if (err) res.send(err); res.json(users); );
你这样做了吗?
是的,用户仍然是一个空数组
<condition>
参数不是必需的。这可能不应该被接受。【参考方案2】:
试试这个...
User.find(, function(err, docs)
【讨论】:
以上是关于Mongoose:.find() 不返回任何文档的主要内容,如果未能解决你的问题,请参考以下文章
更新 findOne()/find()/findById() 返回的文档 - mongoose
Mongoose 没有使用简单的 find() 返回文档中的所有字段