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下实现