在我的Django应用程序中,使用Postgresql,我有一个带有CharFields的ArrayField的模型.我想知道是否有DB方法聚合并获取表中所有字符串的列表.例如:
会产生['狗','猫']
我知道如何在Python中做到这一点,但想找到一种在数据库级别聚合的方法.使用Django 1.8.4
我试图弄清楚我是否可以在mongodb聚合方法中以某种方式将$ first和$ ifnull或$ cond组合在一起.假设以下文件:
{ "_id" : 1, "item" : "box" , "code" : null }
{ "_id" : 2, "item" : "box" , "code" : "abcde" }
{ "_id" : 3, "item" : "box" , "code" : "abcde" }
{ "_id" : 4, "item" : "box" , "code" : null }
Run Code Online (Sandbox Code Playgroud)
然后,我运行以下聚合方法将文档分组在一起:
db.items.aggregate([{
$group : {
_id : '$item',
code : { $first : '$code' }
}
}])
Run Code Online (Sandbox Code Playgroud)
我的聚合结果是:
{ "result" : [ { "_id" : "box", "code" : …Run Code Online (Sandbox Code Playgroud)