在Meteor Mongo中找到价值

时间:2015-04-05 14:01:29

标签: javascript jquery mongodb meteor

我是网络编程的新手,最近一直在玩Meteor和MongoDB。

我有一个向mongo发送数据的表单,并使用下面的查询检索了最近输入的值:

database.findOne({}, {sort: {'timeStamp' : -1}, limit:1})

然而,这很酷,我只希望特定变量的值不是整个条目,所以我可以在其他地方使用该变量。

有没有人有专业提示?我应该使用distinct()吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

如果您要从退回的文档中检索字段,可以使用fields选项指定以下内容:

database.findOne({}, {sort: {'timeStamp' : -1}, limit:1, fields: {'myField': 1, _id: 0})

那将以如下格式检索对象:

{'myField': 'value of myField'}

因此,如果您想直接与之互动,您可以像这样访问它:

var myVar = database.findOne({}, {sort: {'timeStamp' : -1}, limit:1, fields: {'myField': 1, _id: 0}).myField

作为一个更具体的例子,我有一个用户名,名称,_id等的用户数据库,如果我只想将用户的名字存储在另一个变量中,我可以这样做:

> a = Meteor.users.findOne({}, {fields: {name: 1, _id: 0}}).name;
> a
<- "Bob" // returned "Bob"

请注意,如果您要提取特定ID或其他选择器的数据,则需要在选择器中填充该数据:

database.findOne({_id: "myId"}, ...)

有关详细信息,请参阅Meteor Mongo.Collection.find文档。