我正在尝试使用mongoose在我的节点应用程序中找到一个用户
var User = require('../app/models/user');
function mongoTest() {
var publicAddress = "0x8a6be8979340faa30020b0c1f617d8fd4309679f";
User.findOne({"publicAddress": publicAddress}, (err, user) => {
if (err) {
res.status(500).send(err)
} else {
console.log(user);
}
});
}
并且 err
和 user
始终返回 null
. 从这里的其他问题(this和this)来看,这通常与猫鼬复数集合有关 . 但是,我的问题是因为我的users.js有问题
module.exports = mongoose.model('User', userSchema);
// Have also tried module.exports = mongoose.model('User', userSchema, 'User');
为了完整性,users.js是
var mongoose = require('mongoose');
var bcrypt = require('bcrypt-nodejs');
// Define the schema for our user model
var userSchema = mongoose.Schema({
local: {
username: String,
password: String,
pictureCaption: String,
publicAddress: String,
contractAddress: String
}
});
最后,我确信公共地址存在是因为我可以在带有Robo 3T的mongoDB中看到它 .
1 回答
在
userSchema
中,publicAddress
是local
对象的一部分 .您正在尝试使用
publicAddress
找到一个对象,但它实际上位于local
对象中 . 因此,您应该按如下方式编辑查询以获得结果 .