node.js - 如何过滤 SchemaTypes 的 Mongoose 数组
问题描述
我有两个 Mongoose 集合“文件”和“文件共享”。架构详细信息如下
var FileSchema = new mongoose.Schema({
name: { type: String},
shares: [ { type: Schema.Types.ObjectId, ref: "FileShare" } ]});
var FileShareSchema = new mongoose.Schema({
_id: Number,
user: { type: String }});
文件收集的样本数据
name shares
================================
Document1.txt [1,2]
Document2.txt [1]
Document3.txt [2]
Document4.txt []
FileShare 集合的示例数据
_id user
========================
1 John
2 Raj
我想编写一个查询来获取与用户共享的列表文件。并且还需要使用查询来处理分页。
预期结果
对于用户 John 应该得到 Document1.txt,Document2.txt
而用户 Raj 应该得到 Document1.txt,Document3.txt
File.find({})
.populate('FileShare')
.sort({'_id': 1})
.skip(0).limit(25)
.exec(function (err, files) {
res.send(files);
});
请让我知道是否有任何方法可以使用 mongoose 查询获得此结果。
解决方案
推荐阅读
- ms-word - 如何使用 Word 插件中的 manifest.xml 文件在 MS-Word 功能区中添加垂直菜单项
- angular - 如何从 Kendo UI Grid 导出所有当前数据?
- c# - EntityKey 类和 $id 自动出现在序列化中
- c# - 为什么使用 e.Graphics.DrawImage 绘制某些图像时会被拉伸
- rest - 将媒体项添加到现有相册时,Google 照片返回“错误 400:请求包含无效的媒体项 ID。(INVALID_ARGUMENT)”
- c++ - 函数模板参数包的问题
- python -
在 / 模块 'web' 没有属性 'config_session' - javascript - .createElement() 与 HTML
- react-native - TypeError: _ReanimatedModule.default.animateNextTransition 不是 React-native-navigation 中的函数
- datetime - Go 中灵活的日期/时间解析(在解析中添加默认值)