Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 从MongoDB中的数组中获取随机元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的数据库结构

{
     "_id" : ObjectId("576155226d1d298c2cc3edca"),"questionLibrary" : {
             "technologyName" : "CSS","questions" : [
                     {
                             "correctanswer" : {
                                     "A1" : "CSS1"
                             },"answeroption" : {
                                     "A4" : "CSS1","A3" : "CSS1","A2" : "CSS1","A1" : "CSS1"
                             },"level" : "Amature","tags" : "CSS","question" : "CSS1"
                     },{
                             "question" : "CSS2","answeroption" : {
                                     "A1" : "CSS2","A2" : "CSS2","A3" : "CSS2","A4" : "CSS2"
                             },"correctanswer" : {
                                     "A1" : "CSS2"
                             }
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS3"
                             },"answeroption" : {
                                     "A4" : "CSS3","A3" : "CSS3","A2" : "CSS3","A1" : "CSS3"
                             },"question" : "CSS3"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS4"
                             },"answeroption" : {
                                     "A4" : "CSS4","A3" : "CSS4","A2" : "CSS4","A1" : "CSS4"
                             },"question" : "CSS4"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS5"
                             },"answeroption" : {
                                     "A4" : "CSS5","A3" : "CSS5","A2" : "CSS5","A1" : "CSS5"
                             },"question" : "CSS5"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS6"
                             },"answeroption" : {
                                     "A4" : "CSS6","A3" : "CSS6","A2" : "CSS6","A1" : "CSS6"
                             },"question" : "CSS6"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS7"
                             },"answeroption" : {
                                     "A4" : "CSS7","A3" : "CSS7","A2" : "CSS7","A1" : "CSS7"
                             },"question" : "CSS7"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS8"
                             },"answeroption" : {
                                     "A4" : "CSS8","A3" : "CSS8","A2" : "CSS8","A1" : "CSS8"
                             },"question" : "CSS8"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS9"
                             },"answeroption" : {
                                     "A4" : "CSS9","A3" : "CSS9","A2" : "CSS9","A1" : "CSS9"
                             },"question" : "CSS9"
                     },{
                             "correctanswer" : {
                                     "A1" : "CSS10"
                             },"answeroption" : {
                                     "A4" : "CSS10","A3" : "CSS10","A2" : "CSS10","A1" : "CSS10"
                             },"question" : "CSS10"
                     }
             ]
     },"__v" : 3
}

从问题数组中,我想在每次触发查询时得到一个随机对象(随机问题).

我不想一次收集所有对象并在节点中进行处理.是否可以编写一个查询,以便每次都返回一个随机对象?

解决方法

试试这个逻辑

1)在数组“问题”上使用$unwind,如果使用includeArrayIndex,它将在展开文档中创建索引参见examples的文档

2)展开后,数组通过一个随机数来检索问题

大佬总结

以上是大佬教程为你收集整理的node.js – 从MongoDB中的数组中获取随机元素全部内容,希望文章能够帮你解决node.js – 从MongoDB中的数组中获取随机元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。