2016-03-29 15 views
0

Görünüşe göre bu mümkün değildir ve şu ana kadar bulduğum en iyi tavsiye, dict kullanmaktır ama bu benim istediğim şey değil. MongoDB'de bir set/liste saklamanın bir yolu var mı?MongoDB & PyMongo: Bir set/liste nasıl saklanır?

+2

bir liste dönüştürmek olamaz ama listelerini saklayabilirsiniz . Sence yapamayacağın şey nedir? – Schore

+0

Sanırım şu anda sorum var. Listeleri doğrudan depolayamazsınız, ancak bunları bir dict'ta 'saklamak' zorundasınız. Yani belgeniz her zaman böyle bir şeye benzeyecektir: {_id: ObjectId ("..."), liste: [...]} – Schore

cevap

1

Moğolla gerçekten bir şey yapabilmeniz için bir jsonu (pythonda esas olarak bir dict olarak düşünebiliriz) geçmek zorundasınız, yani, hamburgers alanınıza bir liste veya sayı dizisi eklemek istediğinizi varsayalım. aşağıdaki gibi toplama, bunu hazırlamak olacaktır: bu bir dizi eğer

db.your_collection.update({'$push': {'hamburgers': {$each: [1, 2, 3, 4]}}})

, sen bir dizi kaydedemezsiniz

db.your_collection.update({'$push': {'hamburgers': {$each: list({1, 2, 3, 4})}}})

+1

Ayrıca bir listeye eklemek isterseniz şunu deneyebilirsiniz: 'db.your_collection .update_one ({'filter_name': 'filter_value'}, {'$ addToSet': {'liste_adı': 'item_to_add'}}) 'pymongo kullanarak. –

İlgili konular