Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用现有属性向每个MongoDB文档添加新属性(列)?_Mongodb_Database Design_Mongodb Query_Database - Fatal编程技术网

如何使用现有属性向每个MongoDB文档添加新属性(列)?

如何使用现有属性向每个MongoDB文档添加新属性(列)?,mongodb,database-design,mongodb-query,database,Mongodb,Database Design,Mongodb Query,Database,我想存储属性“filename”的两个版本(一个是常规文件名,另一个是小写文件名)。我需要存储这两个属性,以便对返回的数据进行不区分大小写的排序。以下是我到目前为止的情况: db.collection.update({},{ lowerCaseFileName: filename.toLowerCase() }) 这将返回错误“未定义文件名”。我一直在寻找实现目标的方法,但没有找到任何有助于解决我问题的方法。非常感谢您在这方面给予我的帮助。自MongoDB 3.4以来,有一项功能: db.co

我想存储属性“filename”的两个版本(一个是常规文件名,另一个是小写文件名)。我需要存储这两个属性,以便对返回的数据进行不区分大小写的排序。以下是我到目前为止的情况:

db.collection.update({},{ lowerCaseFileName: filename.toLowerCase() })
这将返回错误“未定义文件名”。我一直在寻找实现目标的方法,但没有找到任何有助于解决我问题的方法。非常感谢您在这方面给予我的帮助。

自MongoDB 3.4以来,有一项功能:

db.collection.createIndex({
    filename: 1
}, {
    collation: {
        locale: 'en',
        strength: 2
    }
})
您必须为大小写不敏感定义
区域设置
强度
值1或2(请参阅)

然后,您可以使用以下命令执行不敏感排序:

db.collection.find().collation({
    locale: 'en',
    strength: 2
}).sort({
    filename: -1
})
MongoDB 3.4之后有一个特性:

db.collection.createIndex({
    filename: 1
}, {
    collation: {
        locale: 'en',
        strength: 2
    }
})
您必须为大小写不敏感定义
区域设置
强度
值1或2(请参阅)

然后,您可以使用以下命令执行不敏感排序:

db.collection.find().collation({
    locale: 'en',
    strength: 2
}).sort({
    filename: -1
})
尝试迭代集合并更新字段

尝试迭代集合并更新字段