首页 文章

由mongoose创建的数据未显示在mongodb上

提问于
浏览
0

我有一个与mongodb相关的问题..目前,我正在使用node.js和express.js为Android应用程序构建rest api . 对于数据库,我使用的是mongodb和mongoose ...我遇到的问题是我可以使用mongoose插入和打印数据,但似乎使用mongoose插入的数据没有显示在mongodb上 .

我尝试的是我在命令行上运行mongod和server.js并使用mongoose插入数据 . 然后,在命令行中,我打开了mongo - >使用<dbname> - > db . <dbname> .find()什么都没显示..我做错了什么?在localhost上运行mongod和server.js

  • 编辑
passport.use('signup', new LocalStrategy(
    {
        usernameField : 'email', // the name of username that got passed into this strategy
        passwordField : 'password', // the name of the password that got passed into tis strategy
        passReqToCallback : true
    },
    function(req, email, password, done) {
        // done(...) where ... is (err, user, info)
        process.nextTick(function() {
            // find user with username
            User.findOne({ email : email }, function(err, user){
                if(err) return done(err);
                if(user) return done(null, false, { message : 'User already exists.' });

                // save the user
                var newUser = new User();
                newUser.email = email;
                newUser.password = newUser.generateHash(password);

                newUser.save(function(err) {
                    if(err) return done(err);
                    return done(null, newUser);
                });
            });
        });
    }
));

我使用护照进行身份验证,在这里我插入新用户 . 我试图打印出所有用户

User.find({}, function(err, users){
                console.log(users);
            });

只是试图看到新用户被插入..我看到日志中的所有用户...但是,如果我去命令行mongo并做db.User.find(),我什么也看不到 . . 谢谢!

1 回答

  • 2

    这就是大多数人用猫鼬创建一个集合的方式

    var User = mongoose.model("User",userSchema );
    

    这将在mongoose中创建一个名为 users 的集合 . 它会使第一个字母为小写,即:"u"并添加"s" . 所以你可以查看你的数据 db.users.find() 我希望这会有所帮助 . 我不知道你是否知道这些信息 .

    它还说了一些关于编译你的第一个模型的东西here .

    第一个参数是模型所用集合的单数名称 . Mongoose会自动查找模型名称的复数版本 .

    this也可能会有所帮助

相关问题