如何使用Node JS将mongoDB查询记录到终端

时间:2016-03-07 19:49:04

标签: node.js mongodb mongoose

我使用以下代码将架构模型添加到我的数据库......

db.on('error', console.error);
db.once('open', function() {
        var Schema = new mongoose.Schema(
        name: String,
        _id: String
    });
    var User = mongoose.model('User', Schema);
    new User({

        name: "Help me!",
        _id: "12345"

    }).save(function(err, doc) {
    if (err)
        throw err;
    else 
        console.log('save user successfully...');
        console.log(User); //This is the problem
    });

代码工作正常,架构被加载到数据库中,但问题是我想将刚添加的架构打印到控制台窗口。

在上面的代码中,我尝试使用console.log(User),但是当我这样做时,我得到的只是一堆我无法理解的行话。

如果我使用mongo终端查询数据......

db.users.find()

我明白了......

{ "_id" : "12345", "name" : "Help me!"}

当我运行上面的代码时,这是我要打印到控制台窗口的内容,我该怎么做?

2 个答案:

答案 0 :(得分:1)

要取回刚刚添加的文档,请尝试使用 create() 方法:

var Schema = new mongoose.Schema(
        name: String,
        _id: String
    }),
    User = mongoose.model('User', Schema),
    obj = {
        name: "Help me!",
        _id: "12345"
    };
User.create(obj, function(err, user) {
    if (err)
        throw err;
    else 
        console.log('save user successfully...');
        console.log(user); //This is the solution
});

答案 1 :(得分:1)

您是控制台记录用户模型,而不是您创建的用户实例。请尝试使用console.log(doc);查看刚刚创建的新文档。