MongoDBノート

5725 ワード

MongoDBノート

  • 接続データベース
  • 挿入データ
  • クエリーデータ
  • 注意事項
  • データベースの接続

    import pymongo as mongo
    mdb = mongo.MongoClient('localhost', 27017)
    my_database = mdb['db_test']
    my_table = my_database['test_english_name']
    

    データの挿入

    # my_table is there
    english_name = {'name': 'Alexa', 'gender': 'girl'}
    my_table.insert_one(english_name)
    
    english_names = [
    	{'name': 'Bob', 'gender': 'boy'},
    	{'name': 'Cindy', 'gender': 'girl'}
    ]
    
    my_table.insert_many(english_names)
    

    データの問合せ

    # my_table is there
    for name in my_table.find({}, {'gender': 0}):
    	print(name)
    

    my_table.find()は2つのパラメータを受け入れ、1つ目はフィルタ条件、2つ目はフィールドのmaskであり、いくつかの例を挙げる.
    #   SELECT * FROM my_table where name = 'Alexa'
    my_table.find({'name': 'Alexa'})
    
    #   SELECT _id, name FROM my_table where name = 'Alexa'
    my_table.find({'name': 'Alexa'}, {'name': 1})
    
    #   SELECT gender FROM my_table
    my_table.find({}, {'_id': 0, 'gender': 1})
    

    注意事項


    findの2番目のパラメータはmaskを表し、値が1はこのフィールドを表し、値が0はこのフィールドを必要としないことを表し、重点は:id以外のすべてのフィールドは0であるか、1であるか、例えば{'_id':0,'name':1}は不要を表す.id,nameを保持し,その他は不要,{‘gender’:0}はgender以外は必要,{‘name’:1,‘gender’:0}は不法である.