2017-07-31 21 views
0

なぜデバッガでオブジェクトの変数が異なっているのですか debugger pictureなぜconsole.log()とデバッガでオブジェクト値が異なるのですか?

とコンソールログ?私は非常に異なっている_id変数について特に問い合わせています!

デバッガで、私はこの部分を見つけることができません:"597e874b52fba6324c9ac192"!ここで

[ { _id: 597e874b52fba6324c9ac192, 
title: 'x', 
author: 'z', 
body: 'y', 
date: 2017-07-31T01:26:35.533Z, 
comments: [], 
__v: 0 }, 
{ _id: 597e87660726ab322c303a8e, 
title: 'x', 
author: 'z', 
body: 'y', 
date: 2017-07-31T01:27:02.266Z, 
comments: [], 
__v: 0 }, 
{ _id: 597e8773c45264303c3fcf0b, 
title: 'x', 
... 

私が使用したノードJSコードです:

function test() { 

var mongoose = require('mongoose'); 
mongoose.connect("mongodb://localhost:27017/test"); 
var Schema = mongoose.Schema; 

var blogSchema = new Schema({ 
    title: String, 
    author: String, 
    body: String, 
    comments: [{body: String, date: Date}], 
    date: {type: Date, default: Date.now}, 
    hidden: Boolean, 
    meta: { 
     votes: Number, 
     favs: Number 
    } 
}); 

var Blog = mongoose.model('Blog', blogSchema); 




    Blog.create({title: 'x', author: "z", body: "y"}, function (err, small) 
{ 
     if (err) return handleError(err); 
     // saved! 
    }); 
    var weirdResults; 
    Blog.aggregate([ 
     {$match: {author: {$exists: true}}} 
    ], function (err, results) { 
     weirdResults = results; 
     if (err) return next(err); 
     console.log(weirdResults); 
    }); 

} 

test(); 

おかげですべての! ObjectID`一貫デバッガの出力で:

+2

を使用してIDを取得することができますが、 '_idを言います。また、値を示す「拡大」する小さな矢印があります。 JavaScriptオブジェクトとまったく同じです。 'console.log()'は基本的に '.toString()'プロトタイプを呼び出し、オブジェクトの内容を "文字列化"します。そのため、値を直接表示する理由と、値を検査するためにオブジェクトを「展開」する必要があることがあります。 –

+0

@NeilLunnもし私が矢印を費やしても、コンソールに表示された '_id'の近くに何もありません。 – Emilio

+1

@Emilioそれを展開すると何が表示されますか?しかし、はい、mongoのオブジェクトIDは[かなり魔法の]です(https://stackoverflow.com/questions/13104690/nodejs-mongodb-object-id-to-string) – Bergi

答えて

0

あなたは_id.toString();

関連する問題