我有两个架构
股票模式
var Stocks = new Schema({
Symbol : String,
Name : String,
MarketCap : Number,
Sector : String,
Industry : String
});
mongoose.model('Stocks', Stocks, 'Stocks');
价格方案
var Prices = new Schema({
date : Date,
symbol : String,
open : Number,
close : Number,
low : Number,
high : Number,
volume : Number
});
mongoose.model('Prices', Prices, 'Prices');
我需要在Symbol
上合并这两个,因为它是两个集合之间唯一的共同点。
不知道如何在此字段中使用.populate()
。
无法通过创建架构以在库存架构中添加Price ref
来更改数据库中的现有数据。
需要找到一个特殊的股票与所有的价格合并的符号。
发布于 2019-04-28 22:55:26
填充不适用于String
字段。您必须使用聚合,它的工作方式是左外连接,并从两个公共字段都匹配的引用集合中提取数据。
Stock.aggregate([
{ "$lookup": {
"from": Price.collection.name,
"localField": "Symbol",
"foreignField": "symbol",
"as": "prices"
}}
])
https://stackoverflow.com/questions/55889487
复制相似问题