我想插入一个变量,例如,

a = {1:2,3:4}

进入我的数据库,其特定的ID为“ 56”。从文档中很明显,我可以执行以下操作:

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

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

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

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

解决方案

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

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中的对象的方式