Now that the data is stored in MongoDB (https://realprogrammer.wordpress.com/2013/03/27/mongodb-and-node-js-part-2-insertion-log-examination/), let’s get it out again through queries and examine the queries’ results.
Part 3 of this series (https://realprogrammer.wordpress.com/2013/05/29/mongodb-and-node-js-part-3-looking-at-query-results-its-complicated/) introduced the reason why the results are printed with and without using JSON.stringify() and outlined why in context of MongoDB and node.js using JSON.stringify() might be not such a good idea.
There are as many queries generated as there are BSON types and the the BSON types are queried in ascending order. The printout after “===>” is generated by “console.log(<query_result_document>)” and the printout after “—>” is generated by “console.log(JSON.stringify(<query_result_document>))”.
Some interpretation will follow in Part 5 of this series. Here are the results uninterpreted for now:
===> { x: 123.123, comment: 'new MongoDB.Double(123.123)', btype: 1, _id: 5269796fab3df2f90b000001 } ---> {"x":123.123,"comment":"new MongoDB.Double(123.123)","btype":1,"_id":"5269796fab3df2f90b000001"} ===> { x: 456.456, comment: '456.456', btype: 1, _id: 5269796fab3df2f90b000002 } ---> {"x":456.456,"comment":"456.456","btype":1,"_id":"5269796fab3df2f90b000002"} ===> { x: NaN, comment: 'Number.NaN', btype: 1, _id: 5269796fab3df2f90b00001c } ---> {"x":null,"comment":"Number.NaN","btype":1,"_id":"5269796fab3df2f90b00001c"} ===> { x: Infinity, comment: 'Infinity', btype: 1, _id: 5269796fab3df2f90b00001d } ---> {"x":null,"comment":"Infinity","btype":1,"_id":"5269796fab3df2f90b00001d"} ===> { x: Infinity, comment: 'Number.POSITIVE_INFINITY', btype: 1, _id: 5269796fab3df2f90b00001e } ---> {"x":null,"comment":"Number.POSITIVE_INFINITY","btype":1,"_id":"5269796fab3df2f90b00001e"} ===> { x: -Infinity, comment: 'Number.NEGATIVE_INFINITY', btype: 1, _id: 5269796fab3df2f90b00001f } ---> {"x":null,"comment":"Number.NEGATIVE_INFINITY","btype":1,"_id":"5269796fab3df2f90b00001f"} ===> { x: 5e-324, comment: 'MIN_VALUE', btype: 1, _id: 5269796fab3df2f90b000020 } ---> {"x":5e-324,"comment":"MIN_VALUE","btype":1,"_id":"5269796fab3df2f90b000020"} ===> { x: 1.7976931348623157e+308, comment: 'MAX_VALUE', btype: 1, _id: 5269796fab3df2f90b000021 } ---> {"x":1.7976931348623157e+308,"comment":"MAX_VALUE","btype":1,"_id":"5269796fab3df2f90b000021"} ===> { x: 'abc', comment: 'abc', btype: 2, _id: 5269796fab3df2f90b000003 } ---> {"x":"abc","comment":"abc","btype":2,"_id":"5269796fab3df2f90b000003"} ===> { x: { z: 5 }, comment: '{"z": 5}', btype: 3, _id: 5269796fab3df2f90b000004 } ---> {"x":{"z":5},"comment":"{\"z\": 5}","btype":3,"_id":"5269796fab3df2f90b000004"} ===> { x: [ { y: 4 }, { z: 5 } ], comment: '[{"y": 4}, {"z": 5}]', btype: 3, _id: 5269796fab3df2f90b000006 } ---> {"x":[{"y":4},{"z":5}],"comment":"[{\"y\": 4}, {\"z\": 5}]","btype":3,"_id":"5269796fab3df2f90b000006"} ===> { x: { _bsontype: 'DBRef', namespace: 'types_node', oid: '5040dc5d40b67c681d000001', db: 'types' }, comment: 'new MongoDB.DBRef("types_node", "5040dc5d40b67c681d000001", "types")', btype: 3, _id: 5269796fab3df2f90b00000f } ---> {"x":{"$ref":"types_node","$id":"5040dc5d40b67c681d000001","$db":"types"},"comment":"new MongoDB.DBRef(\"types_node\", \"5040dc5d40b67c681d000001\", \"types\")","btype":3,"_id":"5269796fab3df2f90b00000f"} ===> { x: { _bsontype: 'DBRef', namespace: 'types_node', oid: '5040dc5d40b67c681d000001', db: undefined }, comment: 'new MongoDB.DBRef("types_node", "5040dc5d40b67c681d000001")', btype: 3, _id: 5269796fab3df2f90b000010 } ---> {"x":{"$ref":"types_node","$id":"5040dc5d40b67c681d000001","$db":""},"comment":"new MongoDB.DBRef(\"types_node\", \"5040dc5d40b67c681d000001\")","btype":3,"_id":"5269796fab3df2f90b000010"} ===> { x: { _bsontype: 'DBRef', namespace: 'types_node', oid: '5040dc5d40b67c681d000001', db: 'types' }, comment: '{"$ref": "types_node", "$id": "5040dc5d40b67c681d000001", "$db": "types"}', btype: 3, _id: 5269796fab3df2f90b000011 } ---> {"x":{"$ref":"types_node","$id":"5040dc5d40b67c681d000001","$db":"types"},"comment":"{\"$ref\": \"types_node\", \"$id\": \"5040dc5d40b67c681d000001\", \"$db\": \"types\"}","btype":3,"_id":"5269796fab3df2f90b000011"} ===> { x: { _bsontype: 'DBRef', namespace: 'types_node', oid: '5040dc5d40b67c681d000001', db: undefined }, comment: '{"$ref": "types_node", "$id": "5040dc5d40b67c681d000001"}', btype: 3, _id: 5269796fab3df2f90b000012 } ---> {"x":{"$ref":"types_node","$id":"5040dc5d40b67c681d000001","$db":""},"comment":"{\"$ref\": \"types_node\", \"$id\": \"5040dc5d40b67c681d000001\"}","btype":3,"_id":"5269796fab3df2f90b000012"} ===> { x: { _bsontype: 'Binary', sub_type: 0, position: 6, buffer: <Buffer 62 69 6e 61 72 79> }, comment: 'new MongoDB.Binary("binary")', btype: 5, _id: 5269796fab3df2f90b000007 } ---> {"x":"YmluYXJ5","comment":"new MongoDB.Binary(\"binary\")","btype":5,"_id":"5269796fab3df2f90b000007"} ===> { x: 5040dc5d40b67c681d000001, comment: 'new MongoDB.ObjectID("5040dc5d40b67c681d000001")', btype: 7, _id: 5269796fab3df2f90b000008 } ---> {"x":"5040dc5d40b67c681d000001","comment":"new MongoDB.ObjectID(\"5040dc5d40b67c681d000001\")","btype":7,"_id":"5269796fab3df2f90b000008"} ===> { x: false, comment: 'false', btype: 8, _id: 5269796fab3df2f90b000009 } ---> {"x":false,"comment":"false","btype":8,"_id":"5269796fab3df2f90b000009"} ===> { x: true, comment: 'true', btype: 8, _id: 5269796fab3df2f90b00000a } ---> {"x":true,"comment":"true","btype":8,"_id":"5269796fab3df2f90b00000a"} ===> { x: Fri Aug 31 2012 05:13:14 GMT-0700 (PDT), comment: 'new Date("2012-08-31 12:13:14:156 UTC")', btype: 9, _id: 5269796fab3df2f90b00000b } ---> {"x":"2012-08-31T12:13:14.156Z","comment":"new Date(\"2012-08-31 12:13:14:156 UTC\")","btype":9,"_id":"5269796fab3df2f90b00000b"} ===> { x: null, comment: 'null', btype: 10, _id: 5269796fab3df2f90b00000c } ---> {"x":null,"comment":"null","btype":10,"_id":"5269796fab3df2f90b00000c"} ===> { x: null, comment: 'undefined', btype: 10, _id: 5269796fab3df2f90b00001b } ---> {"x":null,"comment":"undefined","btype":10,"_id":"5269796fab3df2f90b00001b"} ===> { x: /abc/, comment: 'new RegExp("abc")', btype: 11, _id: 5269796fab3df2f90b00000d } ---> {"x":{},"comment":"new RegExp(\"abc\")","btype":11,"_id":"5269796fab3df2f90b00000d"} ===> { x: /abc/i, comment: 'new RegExp("abc", "i")', btype: 11, _id: 5269796fab3df2f90b00000e } ---> {"x":{},"comment":"new RegExp(\"abc\", \"i\")","btype":11,"_id":"5269796fab3df2f90b00000e"} ===> { x: { _bsontype: 'Code', code: 'function () {}', scope: {} }, comment: 'new MongoDB.Code("function () {}")', btype: 13, _id: 5269796fab3df2f90b000013 } ---> {"x":{"scope":{},"code":"function () {}"},"comment":"new MongoDB.Code(\"function () {}\")","btype":13,"_id":"5269796fab3df2f90b000013"} ===> { x: def15, comment: 'new MongoDB.Symbol("def15")', btype: 14, _id: 5269796fab3df2f90b000014 } ---> {"x":"def15","comment":"new MongoDB.Symbol(\"def15\")","btype":14,"_id":"5269796fab3df2f90b000014"} ===> { x: { _bsontype: 'Code', code: 'function (a) {}', scope: { a: 4 } }, comment: ' new MongoDB.Code("function (a) {}", {"a": 4})', btype: 15, _id: 5269796fab3df2f90b000015 } ---> {"x":{"scope":{"a":4},"code":"function (a) {}"},"comment":" new MongoDB.Code(\"function (a) {}\", {\"a\": 4})","btype":15,"_id":"5269796fab3df2f90b000015"} ===> { x: [ 9, 8, 7 ], comment: '[9, 8, 7]', btype: 16, _id: 5269796fab3df2f90b000005 } ---> {"x":[9,8,7],"comment":"[9, 8, 7]","btype":16,"_id":"5269796fab3df2f90b000005"} ===> { x: 123456, comment: '123456', btype: 16, _id: 5269796fab3df2f90b000016 } ---> {"x":123456,"comment":"123456","btype":16,"_id":"5269796fab3df2f90b000016"} ===> { x: { _bsontype: 'Timestamp', low_: 1, high_: 2 }, comment: 'new MongoDB.Timestamp(1, 2)', btype: 17, _id: 5269796fab3df2f90b000017 } ---> {"x":"8589934593","comment":"new MongoDB.Timestamp(1, 2)","btype":17,"_id":"5269796fab3df2f90b000017"} ===> { x: 987, comment: 'new MongoDB.Long("987")', btype: 18, _id: 5269796fab3df2f90b000018 } ---> {"x":987,"comment":"new MongoDB.Long(\"987\")","btype":18,"_id":"5269796fab3df2f90b000018"} ===> { x: { _bsontype: 'MaxKey' }, comment: 'new MongoDB.MaxKey()', btype: 127, _id: 5269796fab3df2f90b00001a } ---> {"x":{"_bsontype":"MaxKey"},"comment":"new MongoDB.MaxKey()","btype":127,"_id":"5269796fab3df2f90b00001a"} ===> { x: { _bsontype: 'MaxKey' }, comment: 'new MongoDB.MaxKey()', btype: 127, _id: 5269796fab3df2f90b00001a } ---> {"x":{"_bsontype":"MaxKey"},"comment":"new MongoDB.MaxKey()","btype":127,"_id":"5269796fab3df2f90b00001a"} ===> { x: { _bsontype: 'MinKey' }, comment: 'new MongoDB.MinKey()', btype: 255, _id: 5269796fab3df2f90b000019 } ---> {"x":{"_bsontype":"MinKey"},"comment":"new MongoDB.MinKey()","btype":255,"_id":"5269796fab3df2f90b000019"} ===> { x: { _bsontype: 'MinKey' }, comment: 'new MongoDB.MinKey()', btype: 255, _id: 5269796fab3df2f90b000019 } ---> {"x":{"_bsontype":"MinKey"},"comment":"new MongoDB.MinKey()","btype":255,"_id":"5269796fab3df2f90b000019"}