if __name__ == '__main__': myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["test"] mydb['order'].insert( '_id': 2, 'user_id': DBRef("user", "2")
a = db.getCollection("order").findOne({"_id":1}).user_id
db.getCollection(a.$ref).findOne({"_id":a.$id})

pymongo的实现 

import pymongo
if __name__ == '__main__':
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["test"]
    db_ref = mydb['order'].find_one({"_id": 1})['user_id']
    print(mydb[db_ref.collection].find_one({'_id': db_ref.id}))

参考资料:

https://www.cnblogs.com/GtShare/p/7736603.html

https://www.xp.cn/c.php/76526.html

https://www.cnblogs.com/ExMan/p/10735615.html

https://www.runoob.com/mongodb/mongodb-database-references.html

对于语句db.order.insert( { '_id': 2, 'user_id': {'$ref': 'user', '$id': 2} })其中order的user_id字段引用了user集合里的id字段python代码:import pymongofrom bson.dbref import DBRefif __name__ == '__main__': myclient = pymongo.MongoClient(". client= MongoClient('localhost',27017) #连接数据库,数据库名称(userMessageDB) db = client.userMessageDB #连接所用集合,也就是我们通常所说的表,userList为表名
文章目录一、 在django中配置mongodb1、修改配置文件settings .py2、编写models.py配置mongodb中的collection3、在django中对mongodb的数据进行增删改查二、使用pymongo 进行数据的增删改查1、基本的增删改查2、对嵌套文档的增删改查三、更多 一、 在django中配置mongodb 1、修改配置文件settings .py 找到settings.py中的DATABASE字段如下 DATABASES = { 'default': {
Using DBRefs There are three fields in DBRefs: $ref: This field specifies the collection of the referenced document $id: This field specifies the _id field of the referenced document $db: This is
多线程实现生产者消费者模型:锁(Lock)、信号量(Semaphore、BoundedSemaphore)、条件(Condition)、队列(Queue)、事件(Event) 多进程程实现生产者消费者模型:信号量(Semaphore)、条件(Condition)、队列(Queue)、事件(Event)、管道(Pipe) ,并辅之(共享内存、Manager) 不同计算机之间实现生产者消费者模型:socket、远程调用(RPC) 进程或线程可以用类,也可以用函数实现,代码在windows下实现