【问题标题】:Get inserted database value获取插入的数据库值
【发布时间】:2013-03-11 03:11:34
【问题描述】:

所以我使用 Meteor 向数据库中插入一个值,如下所示:

Database.insert({name: 'bob'})

但是,我想检索我输入的“bob”值。我不确定如何仅检索 bob 值。我该怎么做?

【问题讨论】:

    标签: mongodb meteor database


    【解决方案1】:

    根据insert documentation中的例子,insert会返回插入文档的_id。然后,您可以使用它来使用findOne 查询“名称”字段。正如field-specifier documentation 中提到的,在提及要返回的字段列表时,不能混用包含和排除。

    【讨论】:

      【解决方案2】:

      你必须检查你正在创建一个集合

          Database = new Meteor.Collection('database');
      

      您使用的插入命令很好,您可以按名称检索该文档(记录):

          persons = Database.find({name:"bob"})
      

      要仅检索一个文档,请使用:

          person = Database.findOne({name:"bob"})
      

      然后,您可以使用以下方法获取“bob”值:

          name = person.name
      

      【讨论】:

      • 这是不正确的,因为 in 不仅可以返回一个文档。你应该用'findOne'替换它
      • Database.find({name: 'bob'}) 返回 Localcollection。我只想要“鲍勃”
      【解决方案3】:

      你可以这样做

      Database.findOne({name:'bob'})
      

      或者如果你对多个结果使用find,使用fetch,所以数据是在一个数组中给出的,上面是一样的

      Database.find({name:"bob"}).fetch()[0]
      

      上面的代码:

      inserted_record_id = Database.insert({name: 'bob'})
      
      //getting your document inserted above:
      Database.findOne({_id:inserted_record_id})
      

      【讨论】:

        猜你喜欢
        • 2011-04-30
        • 2015-09-13
        • 1970-01-01
        • 2019-03-05
        • 2017-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多