我有nodejs / mongodb和mongoose设置。一切都是最新版本。
这是我的结构:
documents: [{
_id: ObjectId
subdocuments: [ObjectId, ObjectId, ObjectId, ObjectId]
}]
或者另外一种可能的情况:
documents: [{
_id: ObjectId
subdocuments: [{
_id: ObjectId
}]
}]
我需要使用db.documents.findOne({ _id: id })
子文档选择文档,对子文档的ObjectId进行排序,并按随机顺序对其进行排序(只需在数据库端执行此操作即可嵌套数组)。
据我所知,我可以使用$sample
聚合,但是...在选择子文档时可以将其应用于猫鼬吗?
我是NoSQL的新手。所以这可能不是一个流行的情况,但我需要这个。也许我可以在NodeJS端执行此操作,但首先要寻找mongodb / mongoose解决方案。