Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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 如何使用Mongoose find执行地理空间查询_Node.js_Mongodb_Mongoose_Mean Stack - Fatal编程技术网

Node.js 如何使用Mongoose find执行地理空间查询

Node.js 如何使用Mongoose find执行地理空间查询,node.js,mongodb,mongoose,mean-stack,Node.js,Mongodb,Mongoose,Mean Stack,我正在创建一个包含两个实体的应用程序,Book和User 我在用户实体模式中添加了一个名为locationCoords的参数,该参数包含具有与用户本身相关的坐标的数组(首先是经度) 当我在找一本书时,我会尽量显示来自附近用户的结果。 因此,我想执行这样的查找查询 exports.list = function(req, res) { if(req.user) { Book.find({'user.locationCoords': {'$near': req.user.lo

我正在创建一个包含两个实体的应用程序,Book和User

我在用户实体模式中添加了一个名为locationCoords的参数,该参数包含具有与用户本身相关的坐标的数组(首先是经度)

当我在找一本书时,我会尽量显示来自附近用户的结果。 因此,我想执行这样的查找查询

exports.list = function(req, res) {
    if(req.user) {
        Book.find({'user.locationCoords': {'$near': req.user.locationCoords}}).sort('-created').populate('user', 'displayName locationName locationCoords').exec(function(err, books) {
            if (err) {
                return res.status(400).send({
                    message: errorHandler.getErrorMessage(err)
                });
            } else {
                res.jsonp(books);
            }
        });
    }
}
我用附近的位置创建了条目,但查询不返回任何结果。 有什么建议吗

我正在使用下面的模式

var BookSchema = new Schema({
    title: {
        type: String,
        default: '',
        required: 'Please fill Book title',
        trim: true
    },
    language: {
        type: String,
        default: '',
        required: 'Please fill Book language',
        trim: true
    },
    description: {
        type: String,
        default: '',
        trim: true
    },
    image: {
        type: String,
        default: '',
        required: 'Please fill Book image',
        trim: true
    },
    created: {
        type: Date,
        default: Date.now
    },
    user: {
        type: Schema.ObjectId,
        ref: 'User'
    }
});
谢谢 当做
毛里齐奥

嵌入或引用的
用户
?请记住,MongoDB只允许查询嵌入子文档上的字段,而不允许查询引用子文档上的字段。@Philipp这是在书籍用户的架构中:{type:schema.ObjectId,ref:'user'}我应该如何查询它?@Philipp如果是这样,我该如何执行我需要的查询?
var BookSchema = new Schema({
    title: {
        type: String,
        default: '',
        required: 'Please fill Book title',
        trim: true
    },
    language: {
        type: String,
        default: '',
        required: 'Please fill Book language',
        trim: true
    },
    description: {
        type: String,
        default: '',
        trim: true
    },
    image: {
        type: String,
        default: '',
        required: 'Please fill Book image',
        trim: true
    },
    created: {
        type: Date,
        default: Date.now
    },
    user: {
        type: Schema.ObjectId,
        ref: 'User'
    }
});