【发布时间】:2017-08-21 07:45:03
【问题描述】:
我目前的架构如下:
var User = new Schema({
id: String,
firstName: String,
lastName: String,
password: String,
username: String,
position: [{
title: String,
location: String,
start: String,
term:Number,
description:String,
date: {type: Date, default: Date.now}
}]
});
我有两个用户,每个用户都有两个嵌入的职位文档。
用户1:
"position" : [
{
"title" : "Business Analyst",
"location" : "Dublin",
"start" : "May 2017",
"term" : 6,
"description" : " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis erat vitae dsit amet, consectetur adipiscing elit. Vivamus quis erat vitae dolor tempus euismod non in mi",
"_id" : ObjectId("58d6b7e11e793c9a506ffe0f")
},
{
"description" : "description",
"term" : 12,
"start" : "may 2018",
"location" : "Dublin",
"title" : "Web Developer",
"_id" : ObjectId("58d6af99e4318f4703ceb2af")
}
],
用户2:
"position" : [
{
"title" : "Software Engineer",
"location" : "Cork",
"start" : "May 2017",
"term" : 9,
"description" : " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis erat vitae dolor tempus euismod non in miorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis erat vitae dolor tempus euismod non in mi"
},
{
"title" : "Web Developer",
"location" : "Waterford",
"start" : "May 2017",
"term" : 6,
"description" : " Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus quis erat vitae dsit amet, consectetur adipiscing elit. Vivamus quis erat vitae dolor tempus euismod non in mi"
}
],
但是,如果我搜索“Web Developer”,我似乎只能返回第一个用户(我明白为什么会返回整个文档),但我可以进行搜索并获取与字符串“Web”匹配的所有子文档开发商'? 我正在使用 Ajax,我的帖子查询如下:
app.post('/search', function (req, res) {
User.find({'position.title':req.body.position}).exec(function (err, result) {
res.send({ results: result });
});
});
返回对象:
【问题讨论】: