从Meteor中的MongoDB中检索值

时间:2017-11-03 15:25:14

标签: javascript mongodb meteor

所以这就是我的数据库现在的样子:

{
_id": "r8uoPSvJY36nHgCK9",
"name": "Running",
"category": "leisure",
"duration": "2",
"createdAt": "2/10 16:42:17",
"skills": {
    "creativity": 6,
    "analytics": 3,
    "fitness": 7,
    "research": 4,
    "communication": 4,
    "problemSolving": 3,
    "timeManagement": 7,
    "leadership": 3,
    "selfMotivation": 3,
    "teamwork": 4
    },
"started": "false",
"finished": "false"
}

如何查询集合以获取创意字段的值并将其存储在变量中?我尝试过类似的东西:

tasks.find({'skills.creativity': this._id});

但它似乎不起作用。

1 个答案:

答案 0 :(得分:2)

.find()会返回光标 - 即所有匹配的记录,而不仅仅是您要查找的密钥。

如果您正在为单个记录寻找创意字段,假设您试图通过_id而不是{{1}的值来查找文档} field(就像@Styx指出的那样愚蠢)然后:

skills.creativity

如果您希望获得所有匹配记录的创意字段,那么:

const creativity = tasks.findOne(this._id).skills.creativity;

其中const creativityArray = tasks.find(query).map((e) => e.skills.creativity); 定义了您要查找的文档集。