在Python

时间:2017-10-14 16:39:55

标签: python mongodb mongodb-query

我有这个查询,它在MongoDB Booster中工作,但我不明白为什么我只能用Python复制这个,就像我在MySQL上查询一样,我该怎么办这个查询,所以它可以在MongoDB中正常工作

在MongoDB Booster中工作的查询,但是当我在Python中复制时它不起作用:

db.bol_rac.aggregate( [
  {
    $project:
      {
        "id" : 1,
        "id_drz": 1,    
        "location" :
        {          
             $cond: { if: { $eq: [ "$id_drzavljanstvo", 688 ] }, then: "Country", else: "Foreign country" }          
         }
      }
   }
] );

1 个答案:

答案 0 :(得分:1)

我的意思是,我已经成功地解决了这个问题,问题在于我还没有添加'' on if,else,then ..

  from pymongo import MongoClient
    client = MongoClient()

    db = client.bol_rac

    cursor = db.bol_rac.aggregate([
      {
        '$project':
          {
            'id' : 1,
            'id_drz': 1,    
            'location' :
            {          
                 '$cond': { 'if': { '$eq': [ '$id_drz', 688 ] }, 'then': 'Country', 'else': 'Foreign country' }          
             }
          }
       }
    ])

    for document in cursor:
        print(document)