是否有一个函数将字符串转换为节点使用猫鼬objectId ?模式指定某个对象是ObjectId,但当它从字符串中保存时,mongo告诉我它仍然只是一个字符串。例如,对象的_id显示为objectId("blah")。
当前回答
var mongoose = require('mongoose');
var _id = mongoose.mongo.ObjectId("4eb6e7e7e9b7f4194e000001");
其他回答
从评论来看,你要找的是:
mongoose.mongo.BSONPure.ObjectID.isValid
Or
mongoose.Types.ObjectId.isValid
如果你想使用模式
const yourSchemma = new Schema({
"customerId": {
type: mongoose.Types.ObjectId,
required: true
}
});
你可以这样做:
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId('4edd40c86762e0fb12000003');
如果你想经常使用ObjectId而不想使用mongoose。types。ObjectId,你可以解构你的声明:
const {
Types: { ObjectId: ObjectId },
} = require("mongoose");
const id=ObjectId("4edd40c86762e0fb12000003")
如果您正在通过express和mongoose实现REST API,请参阅下面的代码片段。(以ADD为例)
.... 出口。AddSomething = (req,res,next) =>{ const newSomething = new SomeEntity({ _id:new mongoose.Types.ObjectId(), //它自己的ID somethingName: req.body.somethingName, 如果你想要传递一个对象ID,则传入一个foreignkey: mongoose.Types.ObjectId(req.body.theForeignKey)// }) } ...
希望有帮助
推荐文章
- 有没有办法修复包锁。json lockfileVersion所以npm使用特定的格式?
- 无法连接到服务器127.0.0.1:27017
- 如何使用npm全局安装一个模块?
- 实时http流到HTML5视频客户端的最佳方法
- 使用node.js下载图像
- Node.js Express中的HTTP GET请求
- Node.js:将文本文件读入数组。(每一行都是数组中的一项。)
- npm犯错!错误:EPERM:操作不允许,重命名
- Node Sass还不支持当前环境:Linux 64位,带false
- 我如何添加环境变量启动。VSCode中的json
- 如何创建数据库的MongoDB转储?
- 如何将MongoDB作为Windows服务运行?
- 解析错误:无法读取文件“…/tsconfig.json”.eslint
- 在Node.js中'use strict'语句是如何解释的?
- 当WebSockets可用时,为什么要使用AJAX ?