这已被问过,但没有一个答案是我自己可以理解的。Meteor Mongo使用ObjectID查找文档
使用流星,我将一个名为Scrdata的集合拉入Select/Option中。这工作正常。在选项内部,我插入该文档的_id。它一切正常。
<select class="selectfile">
<option>Click to Select</option>
{{#each cwCasesPending}}
<option value="{{_id}}">{{> allcase}}</option>
{{/each}}
</select>
<template name="allcase">
<div > {{last_name}}, {{first_name}}: {{facility}} - {{cwname}}</div>
</template>
我试图做什么应该是一个非常简单的事情,它的ID找到一个文件:
Template.caselist.events({
'change .selectfile': function(event, tmpl){
var ar = Scrdata.findOne({_id: $(event.target).val()});
console.log($(event.target).find('option:selected').val());
console.log(ar);
}
});
在控制台的结果是:
ObjectID("56dab90a73176cc2deb25aaa")
undefined
我的目标在选择块中发生变化时,将在该页面上填充表单。但是,通过_id查找不起作用。
我很感激任何见解和指导。谢谢。
控制台日志没有相同的基本信息。使用findOne,您只需使用'$(event.target).val()'而不是'$(event.target).find('option:selected')。val()'。尝试一次只使用已知的_id,例如'var ar = Scrdata.findOne({_ id:“known_id”});' –
@ user2690440看起来您正在使用ObjectID,因此您可能需要[转换它们] ://stackoverflow.com/questions/29462623/convert-string-to-mongo-objectid-in-javascript-meteor)在调用findOne之前。 –