首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB通过动态查询Nth元素来获取数据收集。

MongoDB通过动态查询Nth元素来获取数据收集。
EN

Stack Overflow用户
提问于 2016-05-12 15:41:59
回答 1查看 63关注 0票数 2

我有一堆动态票的状态。其中,每个票证可以处于"In Process“状态,并具有不同的值。

下一段代码(不起作用)试图解释我要做什么

代码语言:javascript
复制
var tickets = Tickets.find({
  driverAsigned: Meteor.userId(),
  'statusStack.stack.(this.statusStack.currentStatus).name': "In Process"
});

*新数据*

我使用"this.statusStack.currentStatus“的意思是内部文档值,而不是代码中的变量。

这是一张票的结构

代码语言:javascript
复制
{
......
"statusStack" : {
    "stack" : [
        {
            "sortable" : false,
            "removable" : false,
            "order" : 0,
            "name" : "Draft",
            "customName" : "Draft",
            "description" : "When the ticket has been created",
            "color" : "#4d4d4d"
        },
        {
            "sortable" : false,
            "removable" : false,
            "order" : 1,
            "name" : "New",
            "customName" : "New",
            "description" : "When the ticket info has been updated",
            "color" : "#f4f93e"
        },
        {
            "sortable" : true,
            "removable" : false,
            "order" : 2,
            "name" : "Assigned",
            "customName" : "Assigned",
            "description" : "When the ticket info has been asigned to a driver",
            "color" : "#3e89f9"
        },
        {
            "sortable" : true,
            "removable" : false,
            "order" : 3,
            "name" : "In Process",
            "customName" : "In Process",
            "description" : "When the ticket has been created",
            "color" : "#f0883c"
        },
        {
            "sortable" : true,
            "removable" : true,
            "order" : 4,
            "name" : "Frodo",
            "customName" : "Blank",
            "description" : "New Blank Status",
            "color" : "#4d4d4d"
        },
        {
            "sortable" : true,
            "removable" : false,
            "order" : 5,
            "name" : "Resolved",
            "customName" : "Resolved",
            "description" : "When the Driver has resolved the Ticket",
            "color" : "#42f93e"
        },
        {
            "sortable" : false,
            "removable" : false,
            "order" : 6,
            "name" : "Closed",
            "customName" : "Closed",
            "description" : "When the Admin has been closed the Ticket",
            "color" : "#217b1f"
        }
    ],
    "currentStatus" : 5
},
......
}
EN

回答 1

Stack Overflow用户

发布于 2016-05-13 16:02:07

苏丹法典:

  1. 首先获取数组元素的位置。 pos = statusStack.currentStatus
  2. 然后可以使用pos (Int)变量构建查询文档。 var query =tojson(‘{“statusStack.堆栈.’+pos‘+’..name”:"In Process"}');

使用“查找”中的查询文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37191655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档