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})