Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
基于json数组的Mongoose查询_Json_Node.js_Mongodb_Mongoose - Fatal编程技术网

基于json数组的Mongoose查询

基于json数组的Mongoose查询,json,node.js,mongodb,mongoose,Json,Node.js,Mongodb,Mongoose,我是node.js新手,在node.js中使用mongoose 模式: var userSchema = new mongoose.Schema({ username: String, password: String, phone_no : String, email: String, name:String, dob: {type: Date, "default": Date.now}, city:String, locality:{lattitude:Number,longitude:Nu

我是node.js新手,在node.js中使用mongoose

模式:

var userSchema = new mongoose.Schema({
username: String,
password: String,
phone_no : String,
email: String,
name:String,
dob: {type: Date, "default": Date.now},
city:String,
locality:{lattitude:Number,longitude:Number},
sports: [String]
});
样本条目:

"userId": 10,
    "username": "shu",
    "name": "shubham goyal",
    "password": "ahu",
    "phone_no": "919357701457",
    "email": "shubham2892@gmail.com",
    "city": "delhi",
    "_id": {
        "$oid": "5331dbc243bb59f80a7ed60b"
    },
    "sports": [
        "cricket,football"
    ],
    "dob": {
        "$date": "2014-03-25T19:40:50.886Z"
    },
    "__v": 0
}
我试图提出的问题是:

models.user.find({'sports' : sports_selected},function(err,users) {
        if(err) {
            console.log("Cannot fetch sports with requested username" + req.user.username);
            console.log(err);
        }if(!users){
            console.log("cannot find specified username" + req.user.username);
        }else{
            console.log(users.username);
            //sport = player.sports;
            //sport = ['cricket','football','basketball'];

            }
        });

我在users.username中没有定义。我想返回所有选择了特定运动的用户,比如“cricket”。我在谷歌上搜索了很多次,但没有找到任何内容。

看起来您的示例条目格式不正确。运动项目不应该是这样的:

"sports": [
        "cricket,football"
]
您应该像这样保存运动数据:

"sports": [
        "cricket","football"
]
如果你把板球和足球放在同一条线上,mongo就不能把它们区分为不同的运动


另外,用户应该是一个数组,因此需要循环遍历该数组。假设您有一个体育用户被选为板球,那么您可以打印用户[0]。用户名

非常感谢兄弟\