【问题标题】:How fetch data from mongo?如何从 mongo 获取数据?
【发布时间】:2014-10-17 11:35:49
【问题描述】:

在我的 Meteor 应用程序中,在服务器端,我需要从 Mongo 获取数据,必要时在 Mongo 中进行分析和更新。在数据库中,我有一个对象数组:

{ "0" : { "title" : "This is title", "description" : "This is description", "link" : "http://123435", "pubDate" : "16 Oct 2014 20:46:00 +0400" }, "1" : { }, "3" : { } etc 

我正在尝试从 Mongo 获取数据:var savedNews = News.find().fetch(),News 是我的收藏。我在这种类型的调试器数组中看到:

    0: "_id"="uuTOncmcIoIkfc",
    1: "_id"="mcmroidewiuIpf" 
    etc

我知道这是 _id,但我需要访问对象的字段。如果我输入 db.news.find(); 在 Mongo 控制台中,我可以看到我的真实对象;如何获取数组或对象形式的数据?

谢谢。

【问题讨论】:

    标签: mongodb meteor


    【解决方案1】:

    Fetch() 返回一个数组,你得到的那些记录可能会被扩展,如果没有,也许你没有发布所有这些数据。 例如,您应该能够获取这样的数据:

    temp = Collection.find({_id:"1"}).fetch();
    temp[0].variable
    

    或者干脆

    temp = Collection.find({_id:"1"}).fetch()[0].variable;
    

    如果您只需要一条记录,请尝试使用 findOne,它只返回一个数组,因此不需要使用 fetch() 或 []

    【讨论】:

    • 谢谢!不幸的是,我在 mongo 的经验非常少。我想我以不正确的格式插入数据。我尝试在插入 Mongo 之前更改对象格式: {"items": [{}, {},{} ...]} 并且我可以在从 Mongo 获取它之后看到这个数组。现在我看到带有“_id”的数组和项目数组。
    • 很高兴它成功了。我也强烈推荐使用 console.log(Collection.find().fetch());看看一切是否符合预期
    • 感谢您的帮助!
    猜你喜欢
    • 2016-07-27
    • 2018-06-26
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    • 1970-01-01
    • 2021-02-28
    • 1970-01-01
    相关资源
    最近更新 更多