1

我目前正在将数据拉入 MongoDB,稍后需要将这些数据拉入单独的应用程序。此应用程序要求 _id 字段为 32 位整数。

确保将结果文档中的 _id 属性显式设置为唯一的 32 位整数。 来源

我正在使用 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 万份文档。

4

1 回答 1

2

只需生成一个 id 并将其传递。Id 可以是任何东西(数组除外)。

def parse_tweet(in_t):
    t = {}
    t["_id"] = get_me_an_int32_id
    t["text"] = in_t["text"]
    t["shape"] = in_t["coordinates"]["coordinates"][0], in_t["coordinates"]["coordinates"][1]
    return t

你必须自己照顾它的独特性。MongoDB 只会确保您不存储重复值。但是你在哪里获得独特的价值——那是你的问题。

这里有一些想法:如何制作一个自动增量字段

于 2012-11-12T11:46:13.210 回答