1
我目前正在將數據提取到MongoDB中,並且稍後需要將這些數據提取到單獨的應用程序中。此應用程序要求_id字段爲32位整數。如何設置_id爲32位整數?
確保將結果文檔中的_id屬性顯式設置爲唯一的32位整數。 source
我正在使用pymongo將文檔插入到集合中。
def parse_tweet(in_t):
t = {}
t["text"] = in_t["text"]
t["shape"] = in_t["coordinates"]["coordinates"][0], in_t["coordinates"]["coordinates"][1]
return t
這給了我預期的文件:
{
"_id" : ObjectId("50a0de04f26afb14f4bba03d"),
"text" : "hello world",
"shape" : [144.9557834, -37.8208589],
}
我如何能明確設置_id值是一個32位整數?
我不打算存儲超過600萬個文檔。
pymongo可能會以不同的方式處理(我是PHP),因爲這不在文檔中:http://api.mongodb.org/python/current/api/index.html但是MongoDB的默認存儲不是一個嚴格的int 32,因爲如果你的應用程序不是用來處理這個問題的話,可能會破壞,因爲我會確保它使用http://php.net/manual/en/class.mongoint32.php的Equiviliant或者只是編碼應用程序來處理Mongo的這個輕微方面 – Sammaye
您可以共享get_me_an_int32_id函數中的某些邏輯嗎?我看着你的鏈接,但不知道在最優雅的計數器爲Python? – Simon
如果你能控制應用程序,最好的方法是編寫應用程序,使用'int()'函數將從MongoDB收集的所有數據轉換爲安全整數,如下所示:http://stackoverflow.com/questions/3387655 /最安全的路到轉換-float到整數中的Python – Sammaye