映射


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 作为键。

键也不能

  • 以特殊属性 prototypeconstructor__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