MongoDB从[object Object]返回结果

时间:2013-02-01 14:05:42

标签: mongodb mongoose

我有一个多层架构:

{
  a:String,
  aList: 
  [
     {
        b:String,
        bList:
        [
            {
                c:String,
                cList 
                [
                   d1:String
                   d2:String   
                ]
            }  
        ] 
     }
  ]
} 

问题是当我按照

检索时
A.find( {a:aid, "aList.b":bid}, {_id:0, "aList.$.bList" : 1})

bList总是作为字符串列表返回,我无法获取原始数据

{
  aList:
  [
     {
        bList: [ "[object Object]", "[object Object]", "[object Object]"] 
     }
  ]
} 

2 个答案:

答案 0 :(得分:1)

如下定义架构解决了问题:

var cSchema = mongoose.Schema({c:String,
    cList[
       d1:String
       d2:String   
    ]
});

var bSchema = mongoose.Schema({c:String,
    b:String,
    bList:
    [cSchema]
});


var aSchema = mongoose.Schema({
    a:String,
    aList: [bSchema]
});

答案 1 :(得分:-1)

使用时将其用作json对象。如果您正在打印,请使用printjson()进行打印。

db.sample.find().foreach(function(e){ printjson(e)})