如何在MongoDB中查找和使用最近的未使用字段名称?

时间:2013-04-17 00:27:11

标签: javascript mongodb

我有一个用户文档,用户可以将自己的字段添加到此文档中。默认情况下,这些字段是未命名的(因为用户只通过单击按钮创建它们),但是在创建后可以通过单独的操作重命名。

如果我想找到拥有的最近的未命名密钥:(在这种情况下它将是未命名的-4)并将其插入文档中我该怎么做?

或者我应该使用更好的数据模型/方法吗?

Users.update( id, {
    $set: {
        profile: {
            userfields: {
                owned: {
                  unnamed-1 : "field1",
                  unnamed-2 : "field1",
                  unnamed-3 : "field3",
                  mynamedfield : field 4
            }
        }
    }
});

1 个答案:

答案 0 :(得分:0)

只需使用数组而不是拥有的地图,并在更新时使用$ push命令,以防您需要添加另一个。

Users.update( id, {
$set: {
    profile: {
        userfields: {
            owned: {
              unnamed: [
                "field1",
                "field1",
                "field3" ], 
              named: "field 4"
        }
    }
}

});

 db.Users.update(
                { id: id },
                { $push: { 'profiles.userfields.owned.unnamed': 'field4' } }
              )