【问题标题】:_id of mongo document subtracts one on jademongo文档的_id在jade上减一
【发布时间】:2015-01-05 14:56:31
【问题描述】:

我发现节点控制器、数据库 (mongodb) 和引擎模板翡翠之间存在一个罕见的问题。我把这段代码展示给你看。

代码

控制器:

router.get('/get_my_buildings', function(req, res)
{
    if(req.session && req.session.user && (req.session.user.rol=="Admin" ||    req.session.user.rol=="superAdmin"))
        buildingDB.getBuilding({admin_id:req.session.user._id}, function(results)
        {
            if(results.error==1 || results.result.length==0) res.render('resource_not_found');
            else res.render('buildings/admin_buildings', {title:"WELLCOME", user:req.session.user, buildings: results.result});
        });
    else    res.render('users/loggin', {title:"LOGGING"});
});

玉:

div(style="display: table;")
    for building in buildings
        div(style="display: table-row;" class="search_hit")
            div(style="display: table-cell;" class="not_search")
                span.glyphicon.glyphicon-map-marker
            div(style="display: table-cell;" class="inline") #{building.address[0].address}
            div(style="display: table-cell;" class="inline") #{building.address[0].city}
            div(style="display: table-cell;" class="inline") #{building.address[0].province}
            div(style="display: table-cell;" class="inline not_search input-group input-group-sm")
                a(type="button" href="/setup_building/#{building.address[0]._id}" class="btn btn-info inline")
                    span.glyphicon.glyphicon-tags.right-margin
                    |Setup
    else
        li I´m sorry, there is no building to show.

我在这里发现的问题是:href="/setup_building/#{building.address[0]._id}" 总是在 id 处减去一个而不是应该写入。 例如,应写入的 id 为:545d384b9c33e76c07ba510d,但它写入:545d384b9c33e76c07ba510e。
所有其他日期都是正确的。我究竟做错了什么??

非常感谢。
PS:我用的是快递

【问题讨论】:

    标签: node.js mongodb express mongoose pug


    【解决方案1】:

    我现在知道问题所在了。这是我提出“所有建筑物”请求时的结果:

    {
        "_id": "545d384b9c33e76c07ba510d",
        ...
        "address": [{
            ...
            "_id": "545d384b9c33e76c07ba510e"
        }]
    }, {
        "_id": "545d5afc8e0295001bdf44e0",
        ...
        "address": [{
            ...
            "_id": "545d5afc8e0295001bdf44e1"
        }]
    }
    

    building 上有两个非常相似的_idbuilding 自己的idaddress 对象的_id,非常相似:

    building: 545d384b9c33e76c07ba510d  
    address:  545d384b9c33e76c07ba510e
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 1970-01-01
      • 2014-10-16
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多