findOne在Meteor上返回undefined

时间:2018-03-16 14:36:12

标签: javascript mongodb meteor

我想尽快从我的数据库中获取_id

 var test = Exemple.findOne({_id: test_id});

我未定义

但是当我做的时候

var test = Exemple.find({}).fetch()`

我得到了该集合的所有数据,就像这样。

{ _id: '17SRlRpRSzP339E41A',
    creationIP: 'local',
    state: 
    { label: 'never connected',
    date: Wed Mar 14 2018 12:20:08 GMT+0100 (CET) },
    language: 'en',
    batch: '9zLKCkvSAyxQ4jtDG7_32018',
    creationDate: Wed Mar 14 2018 12:20:08 GMT+0100 (CET) } ]

我只想获取_id并将其存储到像这样的变量

var test = Exemple.findOne({_id: test_id});

2 个答案:

答案 0 :(得分:0)

这会在数据库中找到_id等于test_id

的项目
var test_id = 'abc';
var test = Exemple.findOne({_id: test_id});

如果没有项目_id等于此项,则会返回null

要获取您可以执行的项目的ID:

var test = Exemple.findOne({});
var docId = test._id;
console.log(docId);

然而,这将选择一个随机文件返回。您可能想要查询特定项目。

答案 1 :(得分:-2)

(async function() {
const test = await Exemple.findOne({_id: test_id});
console.log(test)
})()

正如汤姆所指出的,你必须等待承诺履行