Javascript 从Meteor中的MongoDB检索值
这就是我的数据库现在的样子:Javascript 从Meteor中的MongoDB检索值,javascript,mongodb,meteor,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,
{
_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"
}
如何查询集合,以便获得creativity字段的值并将其存储在变量中?我试过这样的方法:
tasks.find({'skills.creativity': this._id});
但它似乎不起作用 .find()
返回一个光标-即所有匹配的记录,而不仅仅是您要查找的键
如果您正在寻找单个记录的“创造性”字段,并假设您试图通过其\u id
而不是技能的值来查找文档。创造性
字段(正如@Styx所指出的,这将是愚蠢的),那么:
如果您希望获得所有匹配记录的创造性字段,则:
const creativityArray = tasks.find(query).map((e) => e.skills.creativity);
其中,
query
定义您要查找的文档集。您能详细说明一下“它似乎不起作用”吗?它不返回字段值,而是返回一个光标。您知道,对于第一个示例,它可能就是const creative=this.\u id代码>:)哦,对了。我敢打赌,他正在寻找具有\u id
的医生。最有可能的是:)const creatility=tasks.findOne(this.\u id).skills.creatility;这是我一直在寻找的,它的工作,谢谢你@米歇尔弗洛伊德
const creativityArray = tasks.find(query).map((e) => e.skills.creativity);