映射
MongooseMap.prototype.$isMongooseMap
MongooseMap.prototype.clear()
MongooseMap.prototype.delete()
MongooseMap.prototype.get()
MongooseMap.prototype.set()
MongooseMap.prototype.toBSON()
MongooseMap.prototype.toJSON()
MongooseMap.prototype.$isMongooseMap
类型
- «属性»
对于所有 Mongoose 映射实例,设置为 true
MongooseMap.prototype.clear()
覆盖原生 Map 的 clear()
函数以支持更改跟踪。
MongooseMap.prototype.delete()
覆盖原生 Map 的 delete()
函数以支持更改跟踪。
MongooseMap.prototype.get()
覆盖原生 Map 的 get()
函数以支持 Mongoose 获取器。
MongooseMap.prototype.set()
覆盖原生 Map 的 set()
函数以支持设置器、populate()
和更改跟踪。请注意,Mongoose 映射仅支持字符串和 ObjectId 作为键。
键也不能
- 以特殊属性
prototype
、constructor
和__proto__
命名 - 以美元符号 (
$
) 开头 - 包含任何点 (
.
)
示例
doc.myMap.set('test', 42); // works
doc.myMap.set({ obj: 42 }, 42); // Throws "Mongoose maps only support string keys"
doc.myMap.set(10, 42); // Throws "Mongoose maps only support string keys"
doc.myMap.set("$test", 42); // Throws "Mongoose maps do not support keys that start with "$", got "$test""
MongooseMap.prototype.toBSON()
将此映射转换为原生 JavaScript 映射,以便 MongoDB 驱动程序可以将其序列化。
MongooseMap.prototype.toJSON()
参数
[options]
«Object»[options.flattenMaps=false]
«Boolean» 设置为true
以将映射转换为 POJO 而不是原生 JavaScript 映射
将此映射转换为原生 JavaScript 映射以用于 JSON.stringify()
。设置 flattenMaps
选项以将此映射转换为 POJO 而不是原生 JavaScript 映射。
示例
doc.myMap.toJSON() instanceof Map; // true
doc.myMap.toJSON({ flattenMaps: true }) instanceof Map; // false