在MongoDB中插入一个变量,指定_id字段

时间:2015-06-22 12:39:06

标签: python mongodb pymongo

我想插入一个变量,比如说,

a = {1:2,3:4}

使用特定ID“56”进入我的数据库。从文档中可以清楚地看出我可以做到以下几点:

db.testcol.insert({"_id": "56", 1:2, 3:4})

但是,我无法找出任何方式插入“a”本身,指定一个id。换句话说,我想做这样的事情

db.testcol.insert(a, "_id"="56")

但它不起作用。它有可能吗?

1 个答案:

答案 0 :(得分:2)

Insert仅接受最终文档或文档数组,以及包含该集合的其他选项的可选对象。

db.collection.insert(
   <document or array of documents>,
   { // options
     writeConcern: <document>,
     ordered: <boolean>
   }
)

您可能需要事先将_id添加到文档中,但与文档的创建分开:

a = {1:2,3:4}

使用点表示法

a._id = 56;

使用方括号表示法

a['_id'] = 56;

然后,插入:

db.testcol.insert(a);

结果:

{
    "_id" : 56,
    "1" : 2,
    "3" : 4
}

顺便说一句,这实际上是你如何在JavaScript中为对象添加键值对。