MongoDB-是否可以通过_id字段比较文档?

MongoDB-是否可以通过_id字段比较文档?,mongodb,mongodb-query,pymongo,Mongodb,Mongodb Query,Pymongo,正如标题清楚描述的,我需要通过自动生成的\u id字段对文档进行比较。例如,是否可以进行诸如“比id5e120e38c149d02d27ea750c更新/旧的记录”之类的查询,例如大于/小于操作 下面的例子没有达到预期效果: num_apps = db.app.count_documents({"_id": {"$lt": "5e120e38c149d02d27ea750c"}}) p、 使用PyMongo模块。您可以这样做,但是查询的问题是您将字符串作为输入传递,但是数据库中\u id的类型

正如标题清楚描述的,我需要通过自动生成的
\u id
字段对文档进行比较。例如,是否可以进行诸如“比id
5e120e38c149d02d27ea750c
更新/旧的记录”之类的查询,例如
大于
/
小于
操作

下面的例子没有达到预期效果:

num_apps = db.app.count_documents({"_id": {"$lt": "5e120e38c149d02d27ea750c"}})

p、 使用
PyMongo
模块。

您可以这样做,但是查询的问题是您将字符串作为输入传递,但是数据库中
\u id
的类型是
ObjectId()
,因此输入应该与之匹配。所以在查询数据库之前先转换它

如果使用本机mongodb驱动程序:

const ObjectId = require('mongodb').ObjectID;

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
const mongoose = require('mongoose');
let id = mongoose.Types.ObjectId('5e120e38c149d02d27ea750c');
num_apps = db.app.count_documents({ "_id": { "$lt": id } })
from pymongo import MongoClient
from bson.objectid import ObjectId

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
如果使用猫鼬:

const ObjectId = require('mongodb').ObjectID;

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
const mongoose = require('mongoose');
let id = mongoose.Types.ObjectId('5e120e38c149d02d27ea750c');
num_apps = db.app.count_documents({ "_id": { "$lt": id } })
from pymongo import MongoClient
from bson.objectid import ObjectId

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
如果使用pymongo:

const ObjectId = require('mongodb').ObjectID;

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
const mongoose = require('mongoose');
let id = mongoose.Types.ObjectId('5e120e38c149d02d27ea750c');
num_apps = db.app.count_documents({ "_id": { "$lt": id } })
from pymongo import MongoClient
from bson.objectid import ObjectId

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })

您可以这样做,但查询的问题是您将字符串作为输入传递,但DB中的
\u id
类型是
ObjectId()
,因此输入应该与之匹配。所以在查询数据库之前先转换它

如果使用本机mongodb驱动程序:

const ObjectId = require('mongodb').ObjectID;

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
const mongoose = require('mongoose');
let id = mongoose.Types.ObjectId('5e120e38c149d02d27ea750c');
num_apps = db.app.count_documents({ "_id": { "$lt": id } })
from pymongo import MongoClient
from bson.objectid import ObjectId

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
如果使用猫鼬:

const ObjectId = require('mongodb').ObjectID;

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
const mongoose = require('mongoose');
let id = mongoose.Types.ObjectId('5e120e38c149d02d27ea750c');
num_apps = db.app.count_documents({ "_id": { "$lt": id } })
from pymongo import MongoClient
from bson.objectid import ObjectId

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
如果使用pymongo:

const ObjectId = require('mongodb').ObjectID;

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })
const mongoose = require('mongoose');
let id = mongoose.Types.ObjectId('5e120e38c149d02d27ea750c');
num_apps = db.app.count_documents({ "_id": { "$lt": id } })
from pymongo import MongoClient
from bson.objectid import ObjectId

num_apps = db.app.count_documents({ "_id": { "$lt": ObjectId("5e120e38c149d02d27ea750c") } })

是的,你能做到!!你试过什么吗?你能分享你尝试过的东西吗?你被困在哪里?因为这很正常,很直接-我们想知道问题在哪里?请看更新的OP。是的,你可以做到!!你试过什么吗?你能分享一下你尝试过的东西吗?因为这很正常,很简单-我们想知道问题在哪里?请参阅更新的OP。