Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在猫鼬中填充时如何获取第一项?_Node.js_Mongodb_Mongoose_Mongoose Populate - Fatal编程技术网

Node.js 在猫鼬中填充时如何获取第一项?

Node.js 在猫鼬中填充时如何获取第一项?,node.js,mongodb,mongoose,mongoose-populate,Node.js,Mongodb,Mongoose,Mongoose Populate,我有两个模式,如下所示: var SearchQueryItemsSchema = new mongoose.Schema({ //... 'auction': [{'type': mongoose.Schema.Types.ObjectId, 'ref': 'auctions'}], // ... }); module.exports = mongoose.model('search_query_items', SearchQueryItemsSchema); v

我有两个模式,如下所示:

var SearchQueryItemsSchema = new mongoose.Schema({
    //...
    'auction': [{'type': mongoose.Schema.Types.ObjectId, 'ref': 'auctions'}],
    // ...
});

module.exports = mongoose.model('search_query_items', SearchQueryItemsSchema);


var AuctionsSchema = new mongoose.Schema({
    'id': mongoose.Schema.ObjectId,
    // ...
});

module.exports = mongoose.model('auctions', AuctionsSchema);
它们之间是关系
多对一
。主要的问题是,当我尝试从数据库获取数据时,比如
search\u query\u items.find({'search\u query':value})、populate('auction').exec(function(err,query)
i get
query[0]['auction'][0]
而不是
query[0]['auction']
。在填充时是否可能获取第一个元素?

您可以尝试以下方法:

var SearchQueryItemsSchema = new mongoose.Schema({
//...
'auction': {'type': mongoose.Schema.Types.ObjectId, 'ref': 'auctions'}, // remove the square backet
// ...
});
您得到了一个数组对象,因为您定义了拍卖字段,该字段是一个拍卖数组

您可以尝试以下操作:

var SearchQueryItemsSchema = new mongoose.Schema({
//...
'auction': {'type': mongoose.Schema.Types.ObjectId, 'ref': 'auctions'}, // remove the square backet
// ...
});
您得到了一个数组对象,因为您定义了拍卖字段,它是一个拍卖数组