最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Mongo DB

IT培训 admin 17浏览 0评论

Mongo DB

我正在使用猫鼬创建新记录。有时,新记录并不位于所有现有文档的末尾,而是位于随机位置的中间。

我想念什么吗?这是插入代码:

      app.post("/api/books", (req, res) => {
         console.log("POST ROUTE HIT!");
         console.log(req.body);
         db.Book
           .create(req.body)
           .then(dbModel => res.json(dbModel))
           .catch(err => res.status(422).json(err));
      });

我也有删除路线。为什么有时会在随机位置插入新记录,而有时又在末尾插入新记录?

回答如下:

您不是以随机顺序插入新创建的文档,除非您不通过排序,否则mongodb find查询不会默认对文档进行默认排序。

如文档所述:

结果排序

除非您指定sort()方法或使用$ near运算符,MongoDB不保证查询结果的顺序。

因此,如果要查看/获取按_id / created排序的所有文档,则需要手动将其放入查询中。

db.getCollection('books').find({}).sort({"_id": -1})

Mongo DB

我正在使用猫鼬创建新记录。有时,新记录并不位于所有现有文档的末尾,而是位于随机位置的中间。

我想念什么吗?这是插入代码:

      app.post("/api/books", (req, res) => {
         console.log("POST ROUTE HIT!");
         console.log(req.body);
         db.Book
           .create(req.body)
           .then(dbModel => res.json(dbModel))
           .catch(err => res.status(422).json(err));
      });

我也有删除路线。为什么有时会在随机位置插入新记录,而有时又在末尾插入新记录?

回答如下:

您不是以随机顺序插入新创建的文档,除非您不通过排序,否则mongodb find查询不会默认对文档进行默认排序。

如文档所述:

结果排序

除非您指定sort()方法或使用$ near运算符,MongoDB不保证查询结果的顺序。

因此,如果要查看/获取按_id / created排序的所有文档,则需要手动将其放入查询中。

db.getCollection('books').find({}).sort({"_id": -1})

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论