我是网络编程新手,最近一直在使用 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
作为一个更具体的示例,我有一个包含用户名、名称、_id 等的用户数据库,如果我只想将用户名存储在另一个变量中,我可以这样做:
> a = Meteor.users.findOne({}, {fields: {name: 1, _id: 0}}).name;
> a
<- "Bob" // returned "Bob"
请注意,如果您想提取特定 ID 或其他选择器的数据,则需要在选择器中填写该数据:
database.findOne({_id: "myId"}, ...)
请参阅Meteor Mongo.Collection.find文档以获取更多信息。
关于javascript - 在 Meteor Mongo 中寻找值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29458095/