我的mongoDB系列如下所示:

{
    "_id" : ObjectId("5070310e0f3350482b00011d"),
    "emails" : [
            {
                    "_id" : ObjectId("5070310e0f3350482b000120"),
                    "_type" : "Email",
                    "name" : "work",
                    "email" : "peter.loescher@siemens.com",
                    "current" : true
            }
    ]
}

这是我用来打印内容的.js个代码:

c = db.contacts.findOne( { "emails.email" : { $ne : null } }, { "emails" : 1 } )

print(c._id.toString() + " " + c.emails[0]);

当我试图运行这个javascript文件时,它只是显示id,而不是邮箱array.

output:
5070310e0f3350482b00011d [object bson_object]

但当我try c.emails[0].email是给适当的结果.i、 e.peter.loescher@siemens.com

我只需要显示整个嵌入对象.

i.e.
"emails" : [
        {
                "_id" : ObjectId("5070310e0f3350482b000120"),
                "_type" : "Email",
                "name" : "work",
                "email" : "peter.loescher@siemens.com",
                "current" : true
        }
]

我哪里出错了?.任何帮助都将不胜感激.

推荐答案

您需要printjson才能输出格式良好的JSON:

printjson(c.emails[0]);

这里是the documentation.

Mongodb相关问答推荐

我无法将文档发送到我的MongoDB集合,因为它告诉我使文档无效

如何在MongoSH中的现有文档中插入字段

如何在Mongodb Mongoose Nodejs中提取不等于一组值的字段

如何为具有相同名称的嵌套字段创建文本索引

嵌套数组 $unwind 和 $group 在 mongoDB 中重新组合在一起

如何过滤查找mongodb的结果

MongoDB映射/减少多个集合?

具有最佳插入/秒性能的数据库?

.save() 不是函数 Mongoose

MongoDB 1.6.5:如何重命名集合中的字段

NoSql 参考数据

如何使用 Node.js 和 mongoose 解决command find requires authentication?

Mongoose 中不同集合的相同模式

无法连接到远程 mongodb 服务器

带有 jQ​​uery Ajax/JSON 前端的 MongoDB 或 CouchDB 中间件

MongoDB限制内存

Python Django-REST-framework 和 Angularjs 的文件夹 struct

我们如何使用spring boot为mongodb创建自动生成的字段

有没有办法防止 MongoDB 向集合名称添加复数形式?

哪个数据库适合我的应用程序 mysql 或 mongodb ?使用 Node.js 、 Backbone 、 Now.js