准备分层数据以便在MongoDB中轻松查询的最佳方法?

时间:2013-08-28 20:47:18

标签: mongodb mongodb-query nosql

我开始将MongoDB用于新项目,并希望使用此方案将客户数据插入其中:

{
    admin: {mail: "", realName: {first: "", last: ""}, address: {street: "", city: "", state: ""}, payment: {type: "", blz: "", account: ""}},
    users: [
        {mail: "", password: "", realName: {first: "", last: ""}},
        ...
    ],
    categories: [
        {name: "", assignedUsers: [{ID: "", readOnly: true}, ...], entries: [
            {name: "", tags: "", site: "", user: "", pass: "", notes: ""}
        ],
        ...
    ]
}

但是,我发现,例如,通过它的邮件地址获取“users”数组中的一个用户或者获取一个用户被他分配的所有类别是不容易的。 ID。

所以我似乎必须将我的分层数据拆分成多个集合,但我不确定最好的方法是什么。您如何建议我拆分这些数据?

1 个答案:

答案 0 :(得分:0)

  • 您正在锁定projectionthis。它的可选运算符,指定使用投影运算符返回的字段,它的布尔值 1 - 显示& 0 - 隐藏

    db.customers.findOne({"users.mail": "mail@address.org"}, {users: 1})

  • 使用findOne({"users.mail": "mail"})进行身份验证是不安全的,有一个特殊的Node.js模块PassportJS