我有一个多层架构:
{
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]"]
}
]
}
答案 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)})