如何使用现有属性向每个MongoDB文档添加新属性(列)?
我想存储属性“filename”的两个版本(一个是常规文件名,另一个是小写文件名)。我需要存储这两个属性,以便对返回的数据进行不区分大小写的排序。以下是我到目前为止的情况:如何使用现有属性向每个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
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
})
尝试迭代集合并更新字段
尝试迭代集合并更新字段