如何在node.js中构造特定查询以从mongodb中获取数据?

randomuser1

我正在使用mogoosejs并有一个数据模型:

var UserSchema = new Schema({
    username: {type: String, required: true},
    location: {type: [Number], required: true}, // [Long, Lat]
    created_at: {type: Date, default: Date.now},
    updated_at: {type: Date, default: Date.now}
});

现在,在该架构上,我想执行一个查询,该查询将找到特定区域内的所有用户,因此我做了如下操作:

var query = User.find({});
if(distance){
    query = query.where('location').near({ center: {type: 'Point', coordinates: [long, lat]},
    maxDistance: distance * 1609.34, spherical: true});
}

这样效果很好,但是现在我想向该查询添加另一个参数-日期。因此,我想找到一个特定位置的所有用户,这些用户在过去16个小时内创建了自己的帐户。如何修改查询以获取所有这些结果?非常感谢您提供任何线索!

克列丹

要添加日期查询,请创建一个代表16小时前的datetime的日期对象:

var start = new Date();
start.setHours(start.getHours()-16);

现在在查询中将以上内容用作:

// get coordinates [ <longitude> , <latitude> ]
var coords = [];
coords[0] = req.query.longitude;
coords[1] = req.query.latitude;
var criteria = { 
        "created_at": { "$gte": start }
        "location": {
            "$near": coords,
            "$maxDistance": distance * 1609.34
        }
    },
    query = User.find(criteria);

如果有机会,请使用moment.js库,这是一个超级方便的实用程序,用于执行此类操作。要在这种情况下使用它,您可以将subtract()方法调用为:

var start = moment().subtract(16, 'hours'),
    criteria = { "created_at": { "$gte": start }},
    query = User.find(criteria);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MongoDB Node.js中获取特定数据

来自分类Dev

node.js如何在mongodb中获取列值

来自分类Dev

node.js如何在mongodb中获取列值

来自分类Dev

如何在 Node Js 和 Mongodb 中监听数据变化

来自分类Dev

如何在Node.js中获取输入的POST数据?

来自分类Dev

如何在Angular中从Node.js获取数据

来自分类Dev

我如何在Node.js中获取帖子数据?

来自分类Dev

如何在node.js中从mysql获取数据

来自分类Dev

如何在mongoDB中构造JSON数据?

来自分类Dev

如何在mongoDB中输入特定查询,

来自分类Dev

如何在Node.js中构造导入的类?

来自分类Dev

如何在MySQL中的单个查询中获取平均数据和特定数据?

来自分类Dev

如何从Node js中的“ then”中获取数据?

来自分类Dev

如何从节点 js 中的 mongodb 查询中获取变量?

来自分类Dev

如何在mongodb中的文档中获取数组字段中的特定数据?

来自分类Dev

如何在Node.js中从Promise中获取价值

来自分类Dev

如何在mongodb中批量获取数据

来自分类Dev

如何在mongodb的node.js实现中执行不区分大小写的查询?

来自分类Dev

Node.js:如何在查询聚合中返回对象?

来自分类Dev

如何在SQL查询中构造此数据

来自分类Dev

如何在Node.js中同步连接到MongoDB

来自分类Dev

如何在node.js中重用mongodb连接

来自分类Dev

如何在Node.js和Mongodb中包含搜索

来自分类Dev

如何在 Node.js 中对 MongoDB 使用 populate 方法?

来自分类Dev

如何从数据库查询中获取特定字段?

来自分类Dev

如何在node.js中从mongodb获取用户信息

来自分类Dev

如何在Node.JS中执行多个查询(构建数据库)?

来自分类Dev

如何在Node.JS中执行多个查询(构建数据库)?

来自分类Dev

如何在 Java/Android 中迭代 Node.js 数据库查询结果

Related 相关文章

  1. 1

    在MongoDB Node.js中获取特定数据

  2. 2

    node.js如何在mongodb中获取列值

  3. 3

    node.js如何在mongodb中获取列值

  4. 4

    如何在 Node Js 和 Mongodb 中监听数据变化

  5. 5

    如何在Node.js中获取输入的POST数据?

  6. 6

    如何在Angular中从Node.js获取数据

  7. 7

    我如何在Node.js中获取帖子数据?

  8. 8

    如何在node.js中从mysql获取数据

  9. 9

    如何在mongoDB中构造JSON数据?

  10. 10

    如何在mongoDB中输入特定查询,

  11. 11

    如何在Node.js中构造导入的类?

  12. 12

    如何在MySQL中的单个查询中获取平均数据和特定数据?

  13. 13

    如何从Node js中的“ then”中获取数据?

  14. 14

    如何从节点 js 中的 mongodb 查询中获取变量?

  15. 15

    如何在mongodb中的文档中获取数组字段中的特定数据?

  16. 16

    如何在Node.js中从Promise中获取价值

  17. 17

    如何在mongodb中批量获取数据

  18. 18

    如何在mongodb的node.js实现中执行不区分大小写的查询?

  19. 19

    Node.js:如何在查询聚合中返回对象?

  20. 20

    如何在SQL查询中构造此数据

  21. 21

    如何在Node.js中同步连接到MongoDB

  22. 22

    如何在node.js中重用mongodb连接

  23. 23

    如何在Node.js和Mongodb中包含搜索

  24. 24

    如何在 Node.js 中对 MongoDB 使用 populate 方法?

  25. 25

    如何从数据库查询中获取特定字段?

  26. 26

    如何在node.js中从mongodb获取用户信息

  27. 27

    如何在Node.JS中执行多个查询(构建数据库)?

  28. 28

    如何在Node.JS中执行多个查询(构建数据库)?

  29. 29

    如何在 Java/Android 中迭代 Node.js 数据库查询结果

热门标签

归档