【问题标题】:query filter for mongodb using node js使用节点js的mongodb查询过滤器
【发布时间】:2016-08-26 05:51:28
【问题描述】:

我有两个集合,一个是存储_id、标题、选项、结果、反馈的问题,第二个是我存储 question_id、分数的孩子中的孩子。我已经从问题集合中过滤了 _id。我不知道我是怎么做到的,我们是否可以为此设置查询。这样下次当我从问题集合中找到问题时,它会发送过滤后的问题。表示仅从问题集合中返回与第二个集合子 qustion_id 不同的问题。

这是我的第一个收藏,我有商店问题,_id标题选项结果反馈

        _id:{type:String},
        title:{type:String, required:true},
        options:{type:Array, required:true},
        result:{type:Array, required:true},
        feedback:{type:String}

这是我存储尝试的 question_id 和分数的第二个集合

    quiz:[
        {
             questionId:{
            type:mongoose.Schema.Types.ObjectId,
            ref: 'Question',
            index: true
                    },
            score:{type:Number},
            time:{type:String}
            }
           ]

这不完全是我创建的一个例子

var query = {}
firstcollection.find($and[{_id:},{secondcollection question_id:}]},function(err, data){

so that filter data means filter _id will store in data.
and I send this data to the frontend

res.send(data);
});

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    主要问题是概念上的,您正在尝试使用 mongodb,它是 RDBMS 样式的文档存储。在社区的压力下,Mondo 在最新版本中添加了一些最小的连接功能,但它并没有使其成为关系数据库。

    没有执行此类查询的好方法。文档存储背后的想法很简单——你确实有文档集合,你查询这个集合,只有这个集合。集合之间的所有链接都是“虚拟的”,仅由代码逻辑提供,没有数据库引擎的支持。

    所以你可以用 mongo 做的就是:查询第一个集合的 ids(使用适当的投影,只获取 ids),将答案存储到某个数组,然后使用这个数组对其他集合执行第二个查询。

    【讨论】:

    • 感谢您的回复,但是有任何模块或技术可以通过查询获取值
    猜你喜欢
    • 1970-01-01
    • 2021-03-19
    • 2016-10-12
    • 2019-11-24
    • 1970-01-01
    • 2015-04-19
    • 2023-03-09
    • 2012-03-27
    • 2015-08-09
    相关资源
    最近更新 更多