引用的Mongodb搜索字段
这里是MongoDB的新手,我在这个项目中使用sails.js(基于expressjs)/waterline(ORM)/MongoDB。我有两个集合,消息和用户。在消息中的任何文档中,都有一个名为author的字段,用于存储用户模型的引用/对象ID:引用的Mongodb搜索字段,mongodb,search,express,sails.js,waterline,Mongodb,Search,Express,Sails.js,Waterline,这里是MongoDB的新手,我在这个项目中使用sails.js(基于expressjs)/waterline(ORM)/MongoDB。我有两个集合,消息和用户。在消息中的任何文档中,都有一个名为author的字段,用于存储用户模型的引用/对象ID: module.exports = { autoCreatedAt: true, autoUpdatedAt: true, schema: true, tableName: 'message', attribu
module.exports = {
autoCreatedAt: true,
autoUpdatedAt: true,
schema: true,
tableName: 'message',
attributes: {
from: {
model: 'user',
required: true
},
to: {
model: 'user',
required: true
},
content: {
type: 'string',
maxLength: 288,
required: true
}
}
};
我的用户集合如下所示:
module.exports = {
autoCreatedAt: true,
autoUpdatedAt: true,
schema: true,
tableName: 'user',
attributes: {
email: {
type: 'string',
email: true,
unique: true,
required: true
},
name: {
type: 'string',
maxLength: 30
},
username: {
type: 'string',
unique: true,
required: true,
maxLength: 80
},
role: {
type: 'string',
required: true
},
......
},
})
现在我想对所有消息进行搜索查询,给定一个搜索关键字,我想显示消息的分页结果,其中作者的用户名和消息内容包含该关键字,我如何实现这一点
顺便说一句,我知道我可以简单地在消息文档中存储用户名而不是用户引用id,但从Mongodb文档中可以看出,objectId的性能优于string,所以