如何将字符串转换为mongodb ObjectId?

时间:2019-06-14 05:45:41

标签: javascript mongodb

我成功地将以下内容作为字符串插入到mongo db中。但我希望将其作为objectId插入。

parentId": "5ced2388dbbbe124d8671067"

这是字符串格式的parentId。

如何将其转换为objectId格式?

6 个答案:

答案 0 :(得分:3)

Mongodb 4.0 引入了 $ toObjectId 聚合,可将字符串值转换为ObjectId。这是一个例子

db.getCollection('foo_collection').aggregate([
  { "$addFields": {
    "bar" :  { "$toObjectId": "$bar_id" }
  }},
  { "$out": "new_foo_collection" }
])

这里是link

答案 1 :(得分:2)

您可以使用猫鼬

const mongoose = require('mongoose');
let yourId = mongoose.Types.ObjectId('5ced2388dbbbe124d8671067');

它将返回类型ObjectId的变量。

答案 2 :(得分:2)

您必须这样使用mongoose

var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId('5ced2388dbbbe124d8671067');

答案 3 :(得分:1)

对于打字稿:

Type mismatch: inferred type is (???) -> Unit but OnTaskCompletedListener<???> was expected

然后

import mongoose from "mongoose"; // will work
import * as mongoose from "mongoose"; // won't work

快乐编码。

答案 4 :(得分:0)

const ObjectId = require('mongodb').ObjectID
parentId =  "5ced2388dbbbe124d8671067"
let data = new ObjectId(parentId)
console.log(typeof(data))
console.log(typeof(parentId))

答案 5 :(得分:0)

可以通过编写两行代码将其保存为对象ID来完成

let ObjectId = require('mongodb').ObjectID;
parentID = ObjectId("5ced2388dbbbe124d8671067")
相关问题