我正在开发具有mongodb模型的照片共享应用程序,该模型看起来有点像:
Location = { _id : id, address : address, name : name }
Photo = {
_id: id,
_upvotes : [{ ref to User }],
_location : {ref to Location},
url: url,
selected : boolean
}
我想要修改的代码的快速概述(nodejs / expressjs / mongoose):
Photo.find({})
.populate('_location')
.stream({ objectMode : true })
.pipe(res);//res being response stream in express.js
有没有办法以这样的方式查询Photo模型:
If there is no Photo.selected in a Location
Then find the photo with maximum votes, by counting the length of upvotes
我使用MongoDBs mapReduce实现,agregation框架和$ where运算符进行了深入研究,但没有找到出路。
如果有任何其他问题或引用可能导致答案或特定方法,请告知我们。