在nodejs中插入mongodb中的数组

时间:2018-01-21 17:04:47

标签: node.js mongodb mean-stack

我有两个变量nameplace

var name = 'ram';
var place = ['agra','delhi'];

我的架构就像

var Person= new Schema({
    about :
               {
                    name: {type : String},
                    place: {type : String}
               }
            ,     
});

我用了查询

    var person = new Person({
                      about : 
                            {
                              name : name,
                              place : place
                            }
                    });
   person.save(function(){});

但问题是place在数据库中存储为string

name : 'ram',
place : 'agra,delhi'

,所以当我应用查询来搜索place='agra'时,它会提供null输出。

但是当我搜索place='agra,delhi'时,它会产生结果。

我希望这个place存储为数据库中的数组,如

name : 'ram',
place : ['agra','delhi']

请帮助我。

1 个答案:

答案 0 :(得分:0)

将架构更改为将场所存储为数组

def create(self, request):
    serializer = self.get_serializer(data=request.data)

    # just to be cautious 
    serializer.is_valid(raise_exception=True)

    # actually converts urls to instances
    data = serializer.validated_data

    print data 
    # OrderedDict([(u'status', u'QUEUED'), (u'game_type', u'LEAGUE'), (u'referee', <User: kishor>), (u'player_1', <User: joey>), (u'player_2', <User: nick>), (u'attacker', <User: joey>)])

    # I can access model fields like below.
    print data["referee"].username