是否可以一次搜索多个Mongoose模型?

cbnz

我有四个猫鼬模型,SoleTraderPartnershipCompanyTrust它们之间的差异足够大,以至于我无法将它们全部合并为一个架构,但又如此相似,以至于我经常需要一次查询或对所有4种类型进行更改,而很少关心它们是哪种类型。

有没有一种方法(可能通过将所有四种类型放在一个集合中)而不必每次都进行四个数据库调用?

罗伯特克莱普

由于您正在使用mongoose-schema-extend,似乎您可以创建一个简单的“基本”模式并扩展其他模式。如果要搜索所有这些对象,请使用基本模型。

例如:

// base schema
var PersonSchema = new Schema({
  name : String
}, { 
  collection       : 'users', // everything will get saved in the same collection
  discriminatorKey : '_type' 
});

// two schema's that extend off it
var EmployeeSchema = PersonSchema.extend({ department : String });
var EmployerSchema = PersonSchema.extend({});

// materialize all three into models
var Person    = mongoose.model('Person',   PersonSchema);
var Employee  = mongoose.model('Employee', EmployeeSchema);
var Employer  = mongoose.model('Employer', EmployerSchema);

...

// create some people
new Employee({
  name       : 'Homer Simpson',
  department : 'Safety'
}).save(...);

new Employer({
  name : 'Charles Montgomery Burns',
}).save(...);

...

// search across employers and employees
Person.find({ ... }, function(err, people) {
  ...
});

但是,我不得不说的是,广告的行为find()根据鉴别键返回正确的模型实例并不为我工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以一次搜索多个猫鼬模型?

来自分类Dev

是否可以一次调用多个方法或对象?

来自分类Dev

是否可以一次迭代多个 Dict 键?

来自分类Dev

一次创建多个帆模型

来自分类Dev

ZSH中是否有一种语法可以一次创建多个别名?

来自分类Dev

读取原始套接字是否可以一次返回多个数据包?

来自分类Dev

在嵌入式Linux中是否可以一次导出多个GPIO?

来自分类Dev

是否可以仅一次导入就自动导入多个软件包?

来自分类Dev

是否可以提升仅提示一次的多个子进程的特权?

来自分类Dev

是否可以在silverstripe 3.3中一次性添加多个DataObject?

来自分类Dev

是否可以使用Django视图一次提交多个表单?

来自分类Dev

是否可以通过SSH从Google Cloud一次下载多个文件?

来自分类Dev

是否可以使用javascript一次性替换多个不同的字符串?

来自分类Dev

是否可以通过一次渲染从多个视图渲染对象

来自分类Dev

是否可以在Java中一次导入多个软件包?

来自分类Dev

一次单击按钮是否可以进行多个方法调用?

来自分类Dev

是否可以在silverstripe 3.3中一次性添加多个DataObject?

来自分类Dev

DTD - 是否可以一次为多个元素声明属性

来自分类Dev

是否可以一次转义多个路由中的所有参数?

来自分类Dev

如何一次搜索多个数据库?

来自分类Dev

Rails 从不同的模型一次创建多个记录

来自分类Dev

是否可以安装一次软件,并且可以在不同分区的多个Windows中使用该软件?

来自分类Dev

是否有一种简单的方法可以通过R中的并行化一次运行多个循环试验?

来自分类Dev

是否可以通过我的Eclipse项目一次在一个表中插入多个列的值?

来自分类Dev

您可以一次热装多个设备吗?

来自分类Dev

我可以一次运行多个Dropbox实例吗?

来自分类Dev

Reducer一次可以有多个键吗?

来自分类Dev

您可以一次运行多个Webpack实例吗?

来自分类Dev

是否可以一次调用一次setjmp()多次执行longjmp()?

Related 相关文章

  1. 1

    是否可以一次搜索多个猫鼬模型?

  2. 2

    是否可以一次调用多个方法或对象?

  3. 3

    是否可以一次迭代多个 Dict 键?

  4. 4

    一次创建多个帆模型

  5. 5

    ZSH中是否有一种语法可以一次创建多个别名?

  6. 6

    读取原始套接字是否可以一次返回多个数据包?

  7. 7

    在嵌入式Linux中是否可以一次导出多个GPIO?

  8. 8

    是否可以仅一次导入就自动导入多个软件包?

  9. 9

    是否可以提升仅提示一次的多个子进程的特权?

  10. 10

    是否可以在silverstripe 3.3中一次性添加多个DataObject?

  11. 11

    是否可以使用Django视图一次提交多个表单?

  12. 12

    是否可以通过SSH从Google Cloud一次下载多个文件?

  13. 13

    是否可以使用javascript一次性替换多个不同的字符串?

  14. 14

    是否可以通过一次渲染从多个视图渲染对象

  15. 15

    是否可以在Java中一次导入多个软件包?

  16. 16

    一次单击按钮是否可以进行多个方法调用?

  17. 17

    是否可以在silverstripe 3.3中一次性添加多个DataObject?

  18. 18

    DTD - 是否可以一次为多个元素声明属性

  19. 19

    是否可以一次转义多个路由中的所有参数?

  20. 20

    如何一次搜索多个数据库?

  21. 21

    Rails 从不同的模型一次创建多个记录

  22. 22

    是否可以安装一次软件,并且可以在不同分区的多个Windows中使用该软件?

  23. 23

    是否有一种简单的方法可以通过R中的并行化一次运行多个循环试验?

  24. 24

    是否可以通过我的Eclipse项目一次在一个表中插入多个列的值?

  25. 25

    您可以一次热装多个设备吗?

  26. 26

    我可以一次运行多个Dropbox实例吗?

  27. 27

    Reducer一次可以有多个键吗?

  28. 28

    您可以一次运行多个Webpack实例吗?

  29. 29

    是否可以一次调用一次setjmp()多次执行longjmp()?

热门标签

归档