想知道从Golang为mongodb进行顺序查询的最佳方法是什么。 例如,你可以说:
result *bson.M
ids:=["543d171c5b2c12420dd016","543d171c5b2dd016"]
oids := make([]bson.ObjectId, len(ids))
for i := range ids {
oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}
error:= c.Find(query).All(&result)
并且您希望获取_ids的输出并将其用作另一个表的查询。 这是正确的吗?
query = bson.M{"_id": bson.M{"$in": result}}
答案 0 :(得分:0)
这里是如何使用从其他查询返回的文档的ID来构造查询。
var docs []bson.M
if err := c.Find(query).All(&docs); err != nil {
// handle error
}
docIDs := make([]interface{}, len(docs))
for i := range docs {
docIds[i] = docs[i]["_id"]
}
query = bson.M{"_id": bson.M{"$in": docIDs}}