我有一个简单的node.js代码,它使用mongoose,它在保存但无法检索时有效.
.save()有效,但.findOne()没有.
mongoose = require('mongoose');
mongoose.connect("mongodb://localhost/TestMongoose");
UserSchema = new mongoose.Schema({
field: String
});
Users = mongoose.model('userauths', UserSchema);
user = new Users({
field: 'value'
});
//user.save();
Run Code Online (Sandbox Code Playgroud)
^工作.即用值更新数据库.截图
//user.findOne({field:'value'},function(err,value){});
Run Code Online (Sandbox Code Playgroud)
^引发错误:
user.findOne({field:'value'},function(err,value){});
^
TypeError: Object { field: 'value', _id: 52cd521ea34280f812000001 } has no method 'findOne'
at Object.<anonymous> (C:\localhost\nodeTest\z.js:16:6)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3
Run Code Online (Sandbox Code Playgroud)
console.log(JSON.stringify( user , null, 40));
Run Code Online (Sandbox Code Playgroud)
^只返回对象 {field: 'value'}
console.log(JSON.stringify( Users , null, 40));
Run Code Online (Sandbox Code Playgroud)
^返回 undefined
Users.findOne();
Run Code Online (Sandbox Code Playgroud)
^没有错误,但不返回任何东西.
(函数也findOne()存在Users吗?但那么为什么会console.log(..Users..返回undefined呢?)
可能导致findOne()无法按预期工作的问题是什么?
findOne是Users模型上的方法,而不是user模型实例.它通过回调向调用者提供异步结果:
Users.findOne({field:'value'}, function(err, doc) { ... });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10033 次 |
| 最近记录: |