Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongodb复合索引与多个集合 让我们考虑下面的DB模型 让MessageSchema=newschema({ 作者:ObjectId, systemId:ObjectId, 内容:字符串, //…其他一些领域 });_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js Mongodb复合索引与多个集合 让我们考虑下面的DB模型 让MessageSchema=newschema({ 作者:ObjectId, systemId:ObjectId, 内容:字符串, //…其他一些领域 });

Node.js Mongodb复合索引与多个集合 让我们考虑下面的DB模型 让MessageSchema=newschema({ 作者:ObjectId, systemId:ObjectId, 内容:字符串, //…其他一些领域 });,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,简言之,目前大约有50个系统(新系统及时创建),每个系统甚至可以包含数千条消息。 通常我必须搜索内容(即消息文本),并且始终我必须搜索系统ID 那么在这种情况下,哪种策略更好: 创建复合索引MessageSchema.index({systemId:1,content:“text”}) 还是将消息存储在每个系统的单独集合中?(例如,如果我们有系统A1、B7、C4,那么也会有集合messages\u system\u A1,messages\u system\u B7等等 < p >哪个解决方案将

简言之,目前大约有50个系统(新系统及时创建),每个系统甚至可以包含数千条消息。 通常我必须搜索
内容
(即消息文本),并且始终我必须搜索
系统ID

那么在这种情况下,哪种策略更好:

  • 创建复合索引
    MessageSchema.index({systemId:1,content:“text”})
  • 还是将消息存储在每个系统的单独集合中?(例如,如果我们有系统A1、B7、C4,那么也会有集合
    messages\u system\u A1
    messages\u system\u B7
    等等
  • < p >哪个解决方案将更快地执行,如果我们认为总是<强> >每个< /强> db查询至少包含<代码> StimIDPARAM.