在Meteor Mongo中寻找价值

Find Value in Meteor Mongo

本文关键字:寻找 Meteor Mongo      更新时间:2023-09-26

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

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

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

然而,这很酷,我只想要一个特定变量的值,而不是整个条目,所以我可以在其他地方使用该变量进行计算。

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

谢谢!

如果您希望从返回的文档中检索字段,可以使用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

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

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

注意,如果你想提取特定ID或其他选择器的数据,你需要在选择器中填写:

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

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