1.我没有获得电子数据中的项目,但整个文档
getItem(data){
dbswap.findOne(
{ 'swap.Items.Electro.id':data.id,
'swap.Items.Electro.id':data.id }, function(err,item){
if(err){
return (err);
}
if(item){
console.log(item);
}
});
} // EOF
这是我的架构
1.我正在尝试获取我在Electro中创建的项目,我不想要我现在正在获得的整个对象。
var swapSchema = new mongoose.Schema({
swap: {
name: String,
Items: {
Electro: [
{
name: String,
info: String,
price: Number,
dateCreated: Date,
category: String,
id: Number
}
]
}
}
});
答案 0 :(得分:1)
使用投影字段:
如果你想获得所有数组:
dbswap.findOne(
{ 'swap.Items.Electro.id':data.id},
{ 'swap.Items.Electro' : 1}
, function(err, obj){
会返回类似的内容:
{
_id: ObjectId("sdfsdfsdf"),
Electro:[{....},{....}]
}
或者,如果您只想要数组中与查询匹配的对象:
dbswap.findOne(
{ 'swap.Items.Electro.id':data.id},
{ 'swap.Items.Electro.$' : 1}
, function(err, obj){
会返回类似的内容:
{
_id: ObjectId("sdfsdfsdf"),
Electro:{your match object}
}