【问题标题】:Mongoose findOne as : Array = [FindOne , FindOne, FindOne ,FindOne, FindOne...] , Using ExpressJsMongoose findOne as : Array = [FindOne , FindOne, FindOne ,FindOne, FindOne...] ,使用 ExpressJs
【发布时间】:2021-12-04 08:31:20
【问题描述】:

我的用户登录具有特殊的_id,然后在网络应用程序中进行任何激活时,例如通过一些考试或上传任何内容都会添加为带有iduse 的数据库
iduse 是什么意思? :对于我的应用程序,任何 Schema 都有一个带有原始 _id 的 iduse。这只是为了了解用户以及您在应用程序网络中所做的事情。好的,新的我想用findOne keywork 找到所有相同的iduse。在猫鼬中:

    var iduser = current.id.user //that mean the _id of user who login 
    var something = await storescors16.findOne({ iduser })

如你所知,我有不止一个 iduser。我想用猫鼬中的findOne关键字找到它。

输出为:

{
  _id: new ObjectId("616ad9b3bc8e8dkjfbvoue"),
  iduser: ' 616ab2006cb743bc31bf2590',
  level: '3',
  day: 'some',
  date: '2021-10-13',
  time: '7 : 30',
  objectif: 'something ',
  __v: 0
}

{
  _id: new ObjectId("616ad9b3b52942942484bvoueq49"),
  iduser: ' 616ab2006cb743bc31bf2590',
  level: '3',
  day: 'some',
  date: '2021-10-13',
  time: '7 : 30',
  objectif: 'something ',
  __v: 0
}

{
  _id: new ObjectId("616ad9b3hbdfiw5169333333jfbvoueq9c"),
  iduser: ' 616ab2006cb743bc31bf2590',
  level: '3',
  day: 'some',
  date: '2021-10-13',
  time: '7 : 30',
  objectif: 'something ',
  __v: 0
}


{
  _id: new ObjectId("611111111111doufbwoeurgbu6"),
  iduser: ' 616ab2006cb743bc31bf2590',
  level: '3',
  day: 'some',
  date: '2021-10-13',
  time: '7 : 30',
  objectif: 'something ',
  __v: 0
}

NodeJs 获取数据

router.get('/result', auth, async(req, res) => {
  
    var ids = req.session.user._id

    var points = await model.findOne({ ids })

    res.render('./options/result', {
        notes: ponts,
    })
});

为了显示它使用 ejs :

<% for (var i = 0; i < notes.length; i++) { %>
                    <div class="child">
                        <div class="itms sld1">
                            <%=notes.objectif%>
                        </div>
                        <div class="itms sld">
                            <%=notes.time%>
                        </div>
                        <div class="itms sld">
                            <span>
                                <%=notes[i].date%>
                            </span>
                        </div>
                        <div class="itms sld">
                            <%=notes[i].day%>
                        </div>
                        <div class="itms sld">
                            <%=notes[i].level%>
                        </div>
                    </div>
                    <% } %>

【问题讨论】:

    标签: node.js express mongoose ejs


    【解决方案1】:

    顾名思义,findOne 实际上会返回一个文档,这将是列表中第一个符合您的条件的文档。

    如果你想获取一个文档数组,请使用find 方法:)

    var points = await model.find({ iduser: ids })
    

    【讨论】:

    • 什么都不返回!
    • 可能使用了错误的字段。我已经更新了评论。再试一次。
    猜你喜欢
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    相关资源
    最近更新 更多