2016-04-27 13 views
0

我使用MongoDB(mongoose)和Nodejs創建聊天應用程序。正如你在下面看到,我有一個模式作爲貓鼬允許,但我的用戶storeSchema需要是一個字符串(用戶名)的數組。這是做到這一點的正確方法嗎?MongoDB(Mongoose)使數組成爲模式的一部分

"use strict"; 
var express = require('express'); 
var mongoose = require('mongoose'); 

var userSchema = new mongoose.Schema({ 
    user: String 
}); 

var messageSchema = new mongoose.Schema({ 
    msg: String 
}); 

var storeSchema = new mongoose.Schema({ 
    users: [userSchema], // needs to be an array of users 
    channels: { 
     general: { 
      messages: [messageSchema] 
     }, 
     videogames: { 
      messages: [messageSchema] 
     }, 
     programming: { 
      messages: [messageSchema] 
     }, 
     other: { 
      messages: [messageSchema] 
     } 
    } 
}); 

var User = mongoose.model('User', userSchema); 
var Message = mongoose.model('Message', messageSchema); 
var Storage = mongoose.model('Storage', storeSchema); 

module.exports = { 
    User: User, 
    Message: Message, 
    Storage: Storage 
} 
+1

如果你想'users'是一個字符串數組,然後在定義它架構爲'users:[String]'。你是這個意思嗎? – JohnnyHK

+0

是的,這就是我要做的。我不確定是否必須在userSchema或storeSchema中定義它。 – dabriel

回答

0

如果你想users是用戶名字符串數組,然後在storeSchema把它定義爲:

users: [String] 
相關問題